0

我正在使用 Spring MVC、Hiberbate 和 MySQL 数据库开发一个 Web 应用程序。我正在尝试从客户端向服务器发送数据,但我做不到。

具体来说,
我想将我的 JSON 数据发送到http://localhost:8080/app/test。在我的测试控制器中,我想获取来自客户端的数据并将其写入屏幕或保存到数据库。我已经搜索了大约 3 天,并且尝试了很多策略来做到这一点,但我做不到。

4

1 回答 1

1

您必须明确告诉 spring 使用 json 解析器。例如,这是我的 DispatcherServlet 配置的一部分:

<bean
    class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="messageConverters">
        <list>
            <ref bean="jsonConverter" />
        </list>
    </property>
</bean>

<bean id="jsonConverter"
    class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
    <property name="supportedMediaTypes" value="application/json" />
</bean>

Jackson必须在你的类路径中。

然后你在带注释的控制器中编写一个类似这样的方法:

@RequestMapping(value = "/test", method = RequestMethod.POST)
public void myMethod(@RequestBody MyObject object) {
    //... do what you want with the object
}

您只需通过 POST 请求发送一个 JSON 对象,其属性与 MyObject 中的属性相匹配。

于 2012-05-09T11:50:31.253 回答