我有一个RestApi暴露,在这种情况下,可以将状态返回给客户端。
该方法的方法签名为ResponseEntity<void> methodName(){}
此方法是deleteApi。

在返回中,仅使用responseEntity创建Status OK,并且没有附加正文或任何其他标头详细信息。

在日志中看到,我在进行呼叫时得到ClientProtocolException,看到通过REST客户端(邮递员)执行相同操作时,在响应中收到了正确的Status OK消息。


ClientProtocolException升高的原因是什么?
如果返回类型为ResponeEntity<Void>,是否必须随身发送正文?
如何避免出现上述异常?


码:

 @RequestMapping(method = RequestMethod.DELETE)
public ResponseEntity<Void> methodName()
{
   // your buisness logic
    return new ResponseEntity<Void>(HttpStatus.OK);
}

最佳答案

尝试如下

    @RequestMapping(method = RequestMethod.DELETE)
public ResponseEntity<Void> methodName()
{
   // your buisness logic
    return ResponseEntity.noContent().build();
}

关于java - 当Rest Api的spring的ResponseEntity <void>具有返回值时,它返回ClientProtocolException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38892817/

10-11 04:10