0

spring MVC、Hiberbate、および MySQL データベースを使用して Web アプリケーションを開発しています。クライアントからサーバーにデータを送信しようとしていますが、送信できません。

詳細には、JSON データをhttp://localhost:8080/app/test
に送信したいと考えています。私のテストコントローラーでは、クライアントからのデータを取得し、それを画面に書き込むか、db に保存したいと考えています。私は約3日間検索しており、それを行うために多くの戦略を試しましたが、できません.

4

1 に答える 1

1

json パーサーを使用するように明示的に spring に指示する必要があります。たとえば、これは私の DispatcherServlet config の一部です:

<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 リクエストを介して、MyObject のプロパティと一致するプロパティを持つ JSON オブジェクトを送信するだけです。

于 2012-05-09T11:50:31.253 に答える