java - Restful Webservice 字符串响应
问题描述
我有一个端点,它应该发送一个字符串作为响应。我的问题是我需要使用响应实体来发送字符串响应还是只将字符串返回给消费者?
@GetMapping(value = "/word")
public String getWord() {
String response = "webservice";
return response;
}
第二种方法:
@GetMapping(value = "/word", produces ={MediaType.APPLICATION_JSON_VALUE})
public ResponseEntity<String> getWord() {
String response = "webservice";
return new ResponseEntity<>(response, HttpStatus.OK);
}
仅发送字符串或使用响应实体的正确方法是什么?
解决方案
仅发送字符串或使用响应实体的正确方法是什么?
Spring MVC文档列出了许多可以从控制器方法返回的类型。
正如我之前在这里和这里所回答的,ResponseEntity<T>
代表了整个 HTTP 响应。除了body之外,它的 API 还允许您为响应设置标头和状态代码。
只返回一个 bean 实例或字符串是可以的,但不会给您太大的灵活性:将来,如果您需要在响应中添加标头或修改状态码,例如,您需要更改方法返回类型.
推荐阅读
- python-3.x - 如何使用保留在列表中的用户输入追加到列表?
- google-maps - 您能否使用单个 API 调用获得多个目的地的理想路线?
- reactjs - useRef 只读值仅在初始化时
- c - 如何打印出通过 GNU Assembler 中的 .size 指令分配的符号
- python - 如何将动态创建的输入字段中的值分配给 Python 中的各个变量
- json - jsonDecode() 返回字符串而不是列表
- python - 如何从 Django 模板控制变量并增加它
- linux - 有没有办法解决 WXMAXIMA 中的三角方程,比如拉格朗日运动方程?
- javascript - Javascritp:访问嵌套对象时何时使用方括号以及何时使用点
- php - Laravel Backpack 中带有列的过滤表