我使用了https://stackoverflow.com/a/16250729/351903中给出的解决方案-
@Path("api/path")
@GET
@Produces(MediaType.APPLICATION_JSON)
public ResponseEntity<String> handshakeForTxn()
{
return new ResponseEntity<String>(HttpStatus.BAD_REQUEST);
}
我仍然收到200条响应状态-
Server responded with a response on thread XNIO-3 task-2 2 < 200 2 < Content-Type: application/json
尽管响应正文包含一个statusCodeValue,它设置为400-
{ "headers": {}, "body": null, "statusCode": "BAD_REQUEST", "statusCodeValue": 400 }
答案 0 :(得分:0)
您需要删除
@Produces(MediaType.APPLICATION_JSON)
RestController默认返回JSON。
您的控制器应类似于
@RestController
public class RegistrationController {
@GetMapping("api/path")
public ResponseEntity register() {
return ResponseEntity.badRequest().build();
}
}
您可以在此处查看代码示例。 https://github.com/alex-petrov81/stackoverflow-answers/tree/master/bad-request-show-200
答案 1 :(得分:0)
正确的方法是
Response.noContent()。status(Response.Status.NOT_FOUND).build()
Response.ok()。entity(“”)。build();
答案 2 :(得分:0)
这对我有用-
对于200-
return Response.status(Response.Status.OK).entity("").build();
对于400-
return Response.status(Response.Status.BAD_REQUEST).entity("").build();