1.场景 ----feign调用时
? ? ?对于Post请求而言,前端传给后端的数据为json的格式。但是有一种情况,比如就需要一个姓名 username,类型为String 如果用@RequestParam来接收 就会出如下问题
"Invalid mime type \": application/json\": Invalid token character ':' in token \": application\
通常解决方式有两种
1: 新建一个类 把需要传递的字段作为新建类的属性 然后用添加 @RequestBody?
2:自定义注解
首先 :名为@MyRequestBody 的注解
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyRequestBody {
}
然后创建自定义参数解析器
@Override
public boolean supportsParameter(MethodParameter methodParameter) {
//绑定注解标签
return methodParameter.hasParameterAnnotation(MyRequestBody.class);
}
添加自定义参数解析器
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new RequestUserHandlerMethodArgumentResolver());
}
使用
?参考
|