【问题标题】:Non Required JSON attribute in Spring (Jackson Mapping)Spring 中的非必需 JSON 属性(杰克逊映射)
【发布时间】:2017-02-01 13:25:41
【问题描述】:

我在 Spring 控制器中有这个功能:

@RequestMapping(value = "/*", method = RequestMethod.POST)
@ResponseBody
@Consumes("application/json")
public JSONresponse alta(@RequestBody JSONrequest parametros, HttpServletRequest request) {
   some code...}

JSON 请求是这样的 JavaClass:

public class JSONrequest {
      private String code;
      private String message;
      //getters and setter}

我正在使用 Jackson 来映射它,并且工作正常。但我的问题是:有可能不需要消息属性吗?我希望 Web 服务接受具有两个属性或仅具有“代码”属性的 JSON

【问题讨论】:

    标签: json spring controller jackson


    【解决方案1】:

    您可以使用 JsonProperty 的 required 属性。但是这个属性在 2.7.x 或更高版本中可用。

    public class JSONrequest {
    
          @JsonProperty(value ="CODE",required = true)
          private String code;
    
          @JsonProperty(value ="MESSAGE",required = false)
          private String message;
    

    上面的例子使 code 属性成为必需的,而 message 作为反序列化的可选字段。

    【讨论】:

      猜你喜欢
      • 2018-12-05
      • 1970-01-01
      • 1970-01-01
      • 2012-11-15
      • 2013-04-11
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      相关资源
      最近更新 更多