Json 在ResponseEntity中传递回字符串或对象是否更好?

Json 在ResponseEntity中传递回字符串或对象是否更好?,json,spring,spring-mvc,jackson,spring-rest,Json,Spring,Spring Mvc,Jackson,Spring Rest,我有一个返回ResponseEntity的控制器。现在我修改了这段代码,并使用ObjectMapper添加了一系列过滤器。在这个更改之后,我将返回一个字符串作为响应 示例代码如下: public ResponseEntity<String> search() { SearchResult searchResults = service.search(criteria); objectMapper.setFilterProvider(new SimpleFilterProvider()

我有一个返回ResponseEntity的控制器。现在我修改了这段代码,并使用ObjectMapper添加了一系列过滤器。在这个更改之后,我将返回一个字符串作为响应

示例代码如下:

public ResponseEntity<String> search() {
SearchResult searchResults = service.search(criteria);
objectMapper.setFilterProvider(new SimpleFilterProvider()
                .addFilter("firstFilter", new FirstFilter())
                .addFilter("secondFilter",new SecondFilter()));
        return new ResponseEntity<>(objectMapper.writeValueAsString(searchResults), OK);
}
现在我的问题是,这是一个好方法吗。这有什么影响吗。将实际对象发送回与其字符串变量的区别是什么。谢谢你的帮助。谢谢

表示整个HTTP响应。除了实体本身,它的API还允许您为响应设置头和状态代码


从长远来看,返回一个普通字符串不会给您带来太多的灵活性。例如,如果需要向响应中添加标头,则需要更改方法返回类型。

使用ResponseEntity对象,可以对缓存标头进行一些微调控制,如缓存控制、Pragma等,哦,好吧,假设我不需要这些附加功能,像这样使用它还有其他含义吗?所以,我没有详尽的列表。但是,ResponseEntity主要用于RestController和RestTemplate。如果要返回视图,则可以返回字符串。我不知道你要做什么来回应。这在很大程度上取决于这种用法。