java里spring自定义注解如何组合原有注解,如自定义@AjaxRequestMapping=@ResponseBody+@RequestMapping 10

看到@RestController=@Controller+@ResponseBody的效果,于是我写了一个自定义注解来组合,如下:@Target({ElementTyp... 看到@RestController=@Controller+@ResponseBody的效果,于是我写了一个自定义注解来组合,如下:
@Target({ ElementType.METHOD, ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping
@ResponseBody
public @interface AjaxRequestMapping {
String name() default "";
String[] value() default {};
RequestMethod[] method() default { RequestMethod.POST };
String[] params() default {};
String[] headers() default {};
String[] consumes() default {};
String[] produces() default { "application/json;charset=utf-8" };
}
希望效果是用:
@AjaxRequestMapping("upload/file")
来替代原本的
@ResponseBody
@RequestMapping(value = "upload/file", method = RequestMethod.POST, produces = "application/json;charset=utf-8")

但是结果导致所有的请求都响应400异常,显然@AjaxRequestMapping的属性没有被@RequestMapping所获取。
请问大家,怎样才能起到@AjaxRequestMapping=@ResponseBody+@RequestMapping的效果?
展开
 我来答
偷懒的fc
2018-04-10
知道答主
回答量:12
采纳率:0%
帮助的人:1.1万
展开全部
@AliasFor(
annotation = RequestMapping.class
)
String[] value() default {};
用这种格式书写才能把值传递给@RequestMapping中去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冷雨散人
2018-01-17
知道答主
回答量:13
采纳率:100%
帮助的人:5.3万
展开全部

请使用 @RestController + @GetMapping/@PostMappi

@RestControlle("/api/test")
class Api{

    @GetMapping("/list")
    Object list(@RequestParam("page")Integer page){
        //TODO 
    }

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-09-02
展开全部
人家定义的注解时,是那样写的,,,,,,你可以自己修改注解,来实现。。。。。。。。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式