栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spring RequestMapping适用于产生和使用JSON的控制器

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spring RequestMapping适用于产生和使用JSON的控制器

从Spring 4.2.x开始,您可以创建自定义映射注释,并将其

@RequestMapping
用作元注释。所以:

有没有一种方法可以产生带有消费和生产默认值的“复合/继承/聚合”注释,所以我可以这样写:

@JSonRequestMapping(value = "/foo", method = RequestMethod.POST)

是的,有这种方法。您可以创建如下的元注释:

@Target({ElementType.METHOD, ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@RequestMapping(consumes = "application/json", produces = "application/json")public @interface JsonRequestMapping {    @AliasFor(annotation = RequestMapping.class, attribute = "value")    String[] value() default {};    @AliasFor(annotation = RequestMapping.class, attribute = "method")    RequestMethod[] method() default {};    @AliasFor(annotation = RequestMapping.class, attribute = "params")    String[] params() default {};    @AliasFor(annotation = RequestMapping.class, attribute = "headers")    String[] headers() default {};    @AliasFor(annotation = RequestMapping.class, attribute = "consumes")    String[] consumes() default {};    @AliasFor(annotation = RequestMapping.class, attribute = "produces")    String[] produces() default {};}

然后,您可以使用默认设置,甚至可以根据需要覆盖它们:

@JsonRequestMapping(method = POST)public String defaultSettings() {    return "Default settings";}@JsonRequestMapping(value = "/override", method = PUT, produces = "text/plain")public String overrideSome(@RequestBody String json) {    return json;}

您可以

AliasFor
在spring的javadoc和github
Wiki中
了解更多信息。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/485444.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号