【发布时间】:2011-01-16 14:28:38
【问题描述】:
我将我的 messageconverter 配置为 Jackson 的 then
class Foo{int x; int y}
在控制器中
@ResponseBody
public Foo method(){
return new Foo(3,4)
}
我希望从服务器返回一个 JSON 字符串 {x:'3',y:'4'} 而无需任何其他配置。但是我的 ajax 请求得到 404 错误响应
如果方法带有@ResponseBody 注释,则返回类型将写入响应HTTP 正文。返回值将使用 HttpMessageConverters 转换为声明的方法参数类型。
我错了吗?或者我应该使用序列化程序自己将我的响应对象转换为 Json 字符串,然后将该字符串作为响应返回。(我可以正确地做出字符串响应)还是应该进行一些其他配置?比如为 Foo 类添加注解
这是我的 conf.xml
<bean id="jacksonMessageConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<list>
<ref bean="jacksonMessageConverter"/>
</list>
</property>
【问题讨论】:
-
值得一提的是我不使用视图或模型图我有一个 js UI
-
现在我将我的对象序列化为字符串并将这些字符串发布到客户端
-
checkout here 如果您要迁移到新的 spring 3.2。
标签: java json spring spring-mvc jackson