我的问题实质上是对这个问题的跟进。
@RestController
public class TestController
{
@RequestMapping("/getString")
public String getString()
{
return "Hello World";
}
}
在上面,Spring会将“hello world”添加到响应体中。如何将字符串作为JSON响应返回?我知道我可以加引号,但这感觉更像是一个黑客。
请提供任何例子来帮助解释这一概念。
注意:我不想直接写到HTTP响应体,我想返回JSON格式的字符串(我正在使用带有RestyGWT的控制器,它要求响应是有效的JSON格式)。
返回text/plain
(就像从Spring MVC 3 Controller返回仅字符串消息一样)或将字符串包装为某个对象
public class StringResponse {
private String response;
public StringResponse(String s) {
this.response = s;
}
// get/set omitted...
}
将响应类型设置为mediatype.application_json_value
(=“application/json”
)
@RequestMapping(value = "/getString", method = RequestMethod.GET,
produces = MediaType.APPLICATION_JSON_VALUE)
您将得到一个JSON,该JSON看起来像
{ "response" : "your string value" }
让我们看看下面这个简单的测试控制器(与Spring 4.0.3一起使用): 理论上,两个控制器方法都应该返回有效的JSON。调用第一个controller方法确实会返回以下JSON数组: 但第二个controller方法返回不带引号的字符串,该字符串不是有效的JSON字符串: 为什么会这样?可以配置吗?是虫子吗?还是一个我不懂的特征?
我在Spring有Rest控制器。 控制器: 服务: 存储库: 实体: 目前当我在Postman(或浏览器)中使用方法@GetMap在获得JSON对象响应: 作为回应,我需要字符串格式的字段“id”,看起来像: 如何以字符串格式将JSON对象fielt“id”作为ObjectId返回?
问题内容: 我的问题实质上是对该问题的后续行动。 在上面,Spring将“ Hello World”添加到响应正文中。如何返回字符串作为JSON响应?我知道我可以添加引号,但这感觉更像是黑客。 请提供任何示例以帮助解释此概念。 注意:我不希望将其直接写到HTTP响应正文中,我想以JSON格式返回字符串(我将控制器与RestyGWT一起使用,这要求响应必须为有效JSON格式)。 问题答案: 返回(例
问题内容: 因此,我让我的JavaScript进行了Ajax调用,但是在控制器中,我不知道该怎么做才能将某些内容输出回JavaScript。 我收到错误消息是因为没有视图,但是显然没有视图,所以该怎么办? 问题答案: 为此,假设您要在数组中输出变量,然后使用方法将该数组传递给视图,然后创建一个view 。在该视图文件中,放完后可以使用,它应该输出json。 通用代码… /Controllers/M
问题内容: 为了使进度报告过程更加可靠,并使它与请求/响应脱钩,我正在Windows Service中执行处理,并将预期的响应持久化到文件中。当客户端开始轮询更新时,其目的是控制器以JSON字符串形式返回文件的内容(无论它们是什么)。 该文件的内容已预序列化为JSON。这是为了确保在响应过程中没有任何阻碍。无需进行任何处理(只需将文件内容读入字符串并返回)即可获得响应。 我最初虽然很简单,但事实并
问题内容: 在我的开发服务器上,来自Laravel 5控制器的JSON响应以正确的类型显示数据。 例如 但是在生产服务器上,JSON响应作为字符串发送回。 开发和生产都安装了相同版本的PHP(5.6.11-1)。 关于什么可能导致这种行为的任何想法? 问题答案: 确保使用支持本机数据类型的 MySQL本机驱动程序 。 如果使用mysqlnd库,可以通过设置MYSQLI_OPT_INT_AND_FL