如何基于输入REST为同一请求发送两种不同类型的JSON响应?

时间:2017-02-13 07:13:10

标签: java spring-mvc

我是REST API开发的新手,我不使用maven,我只是使用eclipse来开发它。

现在我得到一个特别的回答说例如

{
"Status_cd":"1"
"status":"succ"
}

上述响应应该是成功的,我想要一个错误响应,如

{
"status_cd":"0"
"error":{
     "Error_cd":"2131"
     "Message":"unable to process"
      }
}

如何编写我的序列化类以适应同一请求的这两种响应?

1 个答案:

答案 0 :(得分:1)

在REST控制器中,设计端点方法,使其返回带有通配符参数化的ResponseEntity对象。

//Here your mapping annotation
public @ResponseBody ResponseEntity<?> getSuccessOrError() {

    //Body omitted
    //in case of success return new ResponseEntity(YourSuccessClass, HttpStatus)
    //in case of error return new ResponseEntity(YourErrorClass, HttpStatus)

}

或者,您可以设计自己的响应类,使其包含stauserror字段,并仅使用值初始化所需的响应类。