调用feign接口新增用户报错xxx is not a type supported by this encoder

一个很简单的调用接口注册一个用户到系统中,但死活成功不了。找了网上好多种解决方法,感觉都比较麻烦,这是我自己测试很多次后发现的解决方法。

is not a type supported by this encoder.报错内容如下所示

message:[class com.azxc.func.system.user.entity.User is not a type supported by this encoder.]

调用示例


/**
 * User Feign接口类
 *
 *
 */
@FeignClient(
   value = AppConstant.APPLICATION_USER_NAME
)
public interface IUserClient {

   String API_PREFIX = "/client";
   String SAVE_USER = API_PREFIX + "/save-user";

   /**
    * 新建用户
    *
    * @param user 用户实体
    * @return
    */
   @PostMapping(SAVE_USER)
   R<Boolean> saveUser(@Response User user);

}

/**
 * 用户服务Feign实现类
 *
 *
 */
@NonDS
@RestController
@AllArgsConstructor
@Api(value = "用户服务接口")
public class UserClient implements IUserClient {
	@Override
	@PostMapping(SAVE_USER)
	public R<Boolean> saveUser(@Response User user) {
	   return R.data(service.submit(user));
	}
}
/**
* 调用方法创建用户
*/
public R save(@Valid @RequestBody EmployeeInfo employeeInfo) {
	User user = new User();
	user.setTenantId("000000");
	user.setAccount(employeeInfo.getPhone());
	user.setPassword(employeeInfo.getPhone());
	user.setName(employeeInfo.getName());
	user.setRealName(employeeInfo.getName());
	user.setBirthday(new Date());
	user.setSex(employeeInfo.getSex());
	user.setIsDeleted(0);
	user.setUserType(2);
	user.setRoleId("1511242157409767425");
	user.setDeptId("1375275067666571266");
	userClient.saveUser(user);
}

解决方案、把@PostMapping 改成 @RequestMapping 并去掉@Respons注解

@FeignClient(
   value = AppConstant.APPLICATION_USER_NAME
)
public interface IUserClient {

   String API_PREFIX = "/client";
   String SAVE_USER = API_PREFIX + "/save-user";

   /**
    * 新建用户
    *
    * @param user 用户实体
    * @return
    */
   @RequestMapping(SAVE_USER)
   R<Boolean> saveUser(User user);

}
posted @ 2022-04-06 15:01  三丝柚  阅读(1206)  评论(0编辑  收藏  举报