当前位置: 首页 > 知识库问答 >
问题:

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

沙海
2023-03-14
    @RequestMapping(value = "/foo", method = RequestMethod.POST,
            consumes = MediaType.APPLICATION_JSON_VALUE,
            produces = MediaType.APPLICATION_JSON_VALUE)
    @JSONRequestMapping(value = "/foo", method = RequestMethod.POST)

我需要控制我回来的东西。我希望生成/消耗注释方法,以便获得适当的内容类型头。

共有1个答案

钮刚洁
2023-03-14

从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;
}
 类似资料:
  • 问题内容: 使用多个消费和生产的Spring控制器,我的代码到处都是长注释,例如: 有没有产生“复合/继承/聚合”与注释的方式 默认 为值和,这样,我可以代替写是这样的: 我们如何定义上面的东西?注意和一样,传入了和,也可以传入,或者如果默认值不合适,也很好。 我需要控制我要返回的内容。我需要/ 批注方法,以便获得适当的标题。 问题答案: 从Spring 4.2.x开始,您可以创建自定义映射注释,

  • 生成一个 Http Controller 必选参数: -name 生成的 Controller 类名 -namespace 生成的 Controller 所在命名空间 可选参数: -prefix 路由前缀,不传则为类名 -render 渲染方式,默认为json,可选:html/json/xml -rest 是否生成 RESTful 风格,默认 false -override 是否覆盖已存在的文件,

  • 问题内容: 关闭。 此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗? 更新问题,使其成为Stack Overflow 的主题。 9个月前关闭。 改善这个问题 我需要一个用于在Java中生成控制流的工具,而不是可视化绘制的工具,我可以使用它来处理类似路径条件之类的东西。任何人 ? 问题答案: 为了将来记录,我发现最适合我的需求的是Soot。 http://www.sable.mcgi

  • 我已经用java编写了一个RESTful服务,并希望用get方法生成json。由于jar版本或依赖关系的问题,我一直在与许多没有找到类定义的错误作斗争。 例如 ,杰克逊错误:java.lang.NoClassDefFoundError: com/fasterxml/Jackson/core/Versioned 引起者:java.lang.NoClassDefFoundError: com/aste

  • 问题内容: 我正在使用ElasticSearch进行第一步,并从命令行测试当前正在使用curl的东西。但是,这有点烦人,因为我必须在文本编辑器上键入所有内容,然后粘贴到控制台中(控制台中没有选项卡格式),并且得到的json输出未格式化。 因此,我想知道是否有许多与json数据配合使用的SQL控制台,以使其更易于测试和使用json rest网络服务。 您使用什么工具执行此类任务? 问题答案: 首先,

  • 尝试以下命令时使用kafka-avro控制台生产者cli 我有这个错误 因为我对我的主题使用的不是TopicNameStrategy,而是RecordNameStrategy。我想指定它,请问如何找到允许设置cli使用的主题名称的属性? 注:我,自从我找到这个https://github.com/confluentinc/schema-registry/blob/a0a04628687a72ac6