2017-02-13 64 views
0

我是REST API开发新手,我没有使用maven,我只是使用eclipse来开发它。如何针对基于输入REST的相同请求发送两种不同类型的JSON响应?

现在我得到一个特定的响应说,例如

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

上述反应应该是在成功的情况下,我想喜欢

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

错误响应如何写我的序列化类为了适应这两种响应的相同请求?

回答

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领域,并与值仅需要一个初始化。

+0

喜的Jakub我试图通过与getter和setter方法 公开名单 getError(){ \t \t返回错误创建两个单独的类文件; \t} \t公共无效SETERROR(列表误差){ \t \t this.error =错误; \t} \t public list getResponse(){ \t \t return response; \t} \t公共无效setResponse(列表响应){ \t \t this.response =响应; \t} 但事情是我得到的回应,就像 {“error”:null,“response”:[{“status_cd”:“1”,“status”:“success”}]] } – karthik

+0

非常感谢无论如何,我用杰克逊注释@JSONInclude(INCLUDE.NON_NULL)让我的事情工作 – karthik

+0

@karthik我很高兴你自己解决它。 –

相关问题