Spring what is the easiest way to return custom Ht

2019-06-14 05:28发布

I would like to return to my Rest Client the simplest answer. Only the:

  • http status code 201
  • http status message Created
  • http header Content Type
  • http response body Custom string answer

What is the easiest way?

I've used to use ResponseEntity object this way:

return new ResponseEntity<String>("Custom string answer", HttpStatus.CREATED);,

but unfortunately, I can not simple pass http header in constructor.

I have to create HttpHeaders object and there add my custom header like this:

MultiValueMap<String, String> headers = new HttpHeaders();
headers.add(HttpHeaders.CONTENT_TYPE, MediaType.TEXT_PLAIN_VALUE);

return new ResponseEntity<String>("Custom string answer", headers, HttpStatus.CREATED);

But I am looking for something simpler. Something that could fit one line of code.

Can Anyone help?

2条回答
做自己的国王
2楼-- · 2019-06-14 06:06

As already suggested from @M.Deinum this is the easiest way:

@RequestMapping("someMapping")
@ResponseBody
public ResponseEntity<String> create() {
    return ResponseEntity.status(HttpStatus.CREATED)
       .contentType(MediaType.TEXT_PLAIN)
       .body("Custom string answer");
}
查看更多
仙女界的扛把子
3楼-- · 2019-06-14 06:18

I guess this will help:

@RequestMapping(value = "/createData", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)
@ResponseStatus(HttpStatus.CREATED)
@ResponseBody
public String create(@RequestBody Object input)
{
    return "custom string";
}
查看更多
登录 后发表回答