col*_*er7 3 spring json controller jackson
我在 Spring 控制器中有这个功能:
@RequestMapping(value = "/*", method = RequestMethod.POST)
@ResponseBody
@Consumes("application/json")
public JSONresponse alta(@RequestBody JSONrequest parametros, HttpServletRequest request) {
some code...}
Run Code Online (Sandbox Code Playgroud)
JSON 请求是一个像这样的 JavaClass:
public class JSONrequest {
private String code;
private String message;
//getters and setter}
Run Code Online (Sandbox Code Playgroud)
我正在使用 Jackson 来映射它,并且工作正常。但我的问题是:有可能不需要消息属性吗?我希望 Web 服务接受具有两个属性或仅具有“代码”属性的 JSON
您可以使用JsonProperty 的必需属性。但是这个属性在 2.7.x 或更高版本中可用。
public class JSONrequest {
@JsonProperty(value ="CODE",required = true)
private String code;
@JsonProperty(value ="MESSAGE",required = false)
private String message;
Run Code Online (Sandbox Code Playgroud)
上面的示例使 code 属性成为必需的,而 message 作为反序列化的可选字段。
| 归档时间: |
|
| 查看次数: |
6087 次 |
| 最近记录: |