0

我在 Spring-Boot 技术的帮助下开发了 1-REST Web 服务。

现在,虽然我要请求任何东西,但它没有以 JSON 格式响应我?取而代之的是它以简单的“字符串”格式响应。

另外,请注意我在 Controller 类级别使用了注释 @RestController。

我在想一些我缺少的配置。是这样吗 ?

我当前的 Maven 配置是,

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.3.6.RELEASE</version>
</parent>

另外,我注意到当我请求(POST)获取列表时,在这种情况下它返回一个 JSON 对象数组。

谁能指导我我有什么问题?

4

1 回答 1

0

如果我理解正确,您想生成一个 JSON 对象作为响应?

您可以选择@RequestMapping特定produces格式的响应。

@RequestMapping(value = "/list", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE)

您还可以使用特定格式的响应来添加要返回的对象,以及响应类型ResponseEntity<?>

类似的东西:

public ResponseEntity<?> getAll() {
    List<Category> categories = categoryDAO.getAll();
    if (!categories.isEmpty()) {
        return new ResponseEntity<>(categories, HttpStatus.OK);
    } else {
        return new ResponseEntity<>(HttpStatus.NOT_FOUND);
    }
}

编辑

我添加注释,因为@PostMapping它类似于@RequestMapping

@PostMapping(value = "/list", produces = "application/json; charset=UTF-8")

或者也有效:

@PostMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)

我会给你一个链接,这样你就可以看到有什么属性@PostMapping

@PostMapping

于 2016-07-17T22:59:31.620 回答