調用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);

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM