使用info返回ResponseEntity

时间:2016-10-21 07:37:43

标签: java spring spring-boot

我对Spring很新。我做了以下方法:

public ResponseEntity<Borders> updateBorder(@Valid @RequestBody Borders borders) throws URISyntaxException {
    log.debug("REST request to update Borders : {}", borders);
    Boolean ok = deviceService.updateBorder(borders);
    return new ResponseEntity(ok ? HttpStatus.CREATED : HttpStatus.BAD_REQUEST);
}

我的方法现在使用ResponseEntityHttpStatus.CREATED返回HttpStatus.BAD_REQUEST。在将frontEnd实现到我的软件时,我想知道它会非常方便,如果方法也可以返回带有HttpStatus的String。就像“边框更新!”或“边界无法更新,因为... pla pla”。

将更具体的内容返回给前端的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

你可以返回这样的东西,但是你的方法返回类型应该是ResponseEntity&lt;字符串&gt;,如果您还想传递标题。

http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/http/ResponseEntity.html

return new ResponseEntity("your message", ok ? HttpStatus.CREATED : HttpStatus.BAD_REQUEST);

答案 1 :(得分:0)

ResponseEntity允许返回三种类型的数据:

  1. HTTP状态代码
  2. HTTP标头
  3. 对于此数据的每个组合,您将找到匹配的构造函数。您正在寻找的是正文,它是包含要返回的数据的任意对象。根据您的请求的Accept标头,将以所请求的数据格式返回正文,例如应用程序/ JSON。您甚至可以将一个简单的String作为正文返回:

    public ResponseEntity<String> updateBorder(@Valid @RequestBody Borders borders) throws URISyntaxException {
        log.debug("REST request to update Borders : {}", borders);
        Boolean ok = deviceService.updateBorder(borders);
        return new ResponseEntity("Border could not be updated", ok ? HttpStatus.CREATED : HttpStatus.BAD_REQUEST);
    }