4

spring アプリケーションでサーバーから JSON レスポンスを返したい。以下は私のコードスニペットです。

@RequestMapping(value="getCustomer.action", method = RequestMethod.GET)
    public @ResponseBody Customer getValidCustomer(Model model) {
        System.out.println("comes");
        Customer customer2 = (Customer) customerService
                .getCustomer("vvmnbv@jgfj.ghfjg");
        System.out.println(customer2.getEmail());
        return customer2;

    }

しかし、クライアント側でエラーが発生しています。

4

4 に答える 4

2

必要がある:

  • Jackson JSON Mapperをクラスパスに追加します
  • <mvc:annotation-driven>設定に追加
  • 戻るMap<Integer, String>

読む: http://blog.safaribooksonline.com/2012/03/28/spring-mvc-tip-returning-json-from-a-spring-controller/

于 2013-09-13T07:21:26.083 に答える
0

*-servlet.xml 構成のサンプルを以下に示します。

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
<context:component-scan base-package="org.smarttechies.controller" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
   <property name="mediaTypes">
      <map>
        <entry key="html" value="text/html"></entry>
        <entry key="json" value="application/json"></entry>
        <entry key="xml" value="application/xml"></entry>
      </map>
   </property>
   <property name="viewResolvers">
      <list>
        <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
           <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
           <property name="prefix" value="/WEB-INF/jsp/"/>
           <property name="suffix" value=".jsp"/>
        </bean>
      </list>
   </property>
</bean>
</beans>

次に、アプリケーションをサーバーにデプロイし、「Accept」ヘッダーを「application/json」に設定して JSON 形式で応答を取得するか、「application/xml」に設定して要求を送信し、XML 形式で応答を取得します。

Spring REST について説明する詳細な投稿は、http: //smarttechie.org/2013/08/11/creating-restful-services-using-spring/ で入手できます。

于 2013-09-13T09:06:10.570 に答える