Java API接口返回不是JSON的解決方案,SpringMVC返回JSON配置。

soゝso 2016-08-22 16:11:01 10558

前幾天遇到個問題,在 Java  IOS ,Android 提供的API 接口的時候,IOS 接收到的是IO 流信息。而 Java  Android 使用木有任何問題,仔細的觀察發現了蹊蹺。如圖。

如果Content-Type 是非 application/json 的都有問題,雖然小部分也是可以的,但是application/json 才是真的沒問題。

個人的理解為什么 Java  、Android 可以,而IOS 不行呢, Java  、Android 在讀取接口數據的時候首先框架上會有多方面的處理,其次我發現 Java  Android 好像瀏覽器一樣,先是識別的數據,根據數據類識別類型,而不是優先根據文件的返回類型(Content-Type )來決定的。

——這只是個猜測。別認真

下面我針對SpringMVC 來說說配置解決。在我們的SpringMVC 配置文件中,也就是一般命名為spring-mvc.xml 中配置如下:

<!-- 這個一定得有,注意了,如果其他配置也有需要這個,已經配置了,那不必了 -->
<mvc:annotation-driven  />
<!-- 啟動Spring MVC的注解功能,完成請求和注解POJO的映射 -->
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
	<property name="messageConverters">
		<list>
			<!--json轉換器-->
			<ref bean="mappingJacksonHttpMessageConverter" />
		</list>
	</property>
</bean>

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">  
	<property name="messageConverters">  
        <list>  
               <ref bean="mappingJacksonHttpMessageConverter" />  
        </list>  
    </property>  
</bean>  
        
<bean id="mappingJacksonHttpMessageConverter"  
    class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">  
     <property name = "supportedMediaTypes">  
		  <list>  
		    <bean class="org.springframework.http.MediaType">  
		     <constructor-arg index="0" value="text"/>  
		     <constructor-arg index="1" value="plain"/>  
		     <constructor-arg index="2" value="UTF-8"/>  
		    </bean>  
		    <bean class="org.springframework.http.MediaType">  
		     <constructor-arg index="0" value="*"/>  
		     <constructor-arg index="1" value="*"/>  
		     <constructor-arg index="2" value="UTF-8"/>  
		    </bean>  
		    <bean class="org.springframework.http.MediaType">  
		     <constructor-arg index="0" value="text"/>  
		     <constructor-arg index="1" value="*"/>  
		     <constructor-arg index="2" value="UTF-8"/>  
		    </bean>  
		     <bean class="org.springframework.http.MediaType">  
		     <constructor-arg index="0" value="application"/>  
		     <constructor-arg index="1" value="json"/>  
		     <constructor-arg index="2" value="UTF-8"/>  
		    </bean>  
		  </list>  
	</property>  
</bean> 

配置后返回如圖:

這就是OK了,不管怎么用都是 JSON  了,除非你接收的時候,你是用Text 類型的接收。

如果是其他框架,請用httpResponse 輸出的時候,指定Content-Type application/json 即可。

有問題加群交流。


版權所屬:SO JSON在線解析

原文地址:http://www.380127.tw/blog/124.html

轉載時必須以鏈接形式注明原始出處及本聲明。

本文主題:

如果本文對你有幫助,那么請你贊助我,讓我更有激情的寫下去,幫助更多的人。

關于作者
一個低調而悶騷的男人。
相關文章
CDN 請求返回 connection reset by peer,被攔截請求解決方案
JSOUP 教程,JSOUP請求JSON ,JSOUP返回JSON 數據
JQuery Ajax四種寫法,Ajax請求返回JSON 操作Demo
Java 之 HTTP請求亂碼解決,GZIP 返回值亂碼解決
Elasticsearch 隨機返回數據 API
Httpclent 請求限制,判斷返回類型和返回數據大小
Elasticsearch 聚合(aggregation)查詢返回所有
SOJSON 使用又拍云 CDN 整體架構,解決百度 SEO 方案
天氣API,全國天氣 JSON API接口,可以獲取十五天的天氣預報
免費天氣API,全國天氣 JSON API接口,可以獲取五天的天氣預報
最新文章
QUIC / HTTP3 協議詳細分析講解 1148
恭喜那個做云存儲的七牛云完成 F 輪 10 億人民幣的融資,開啟新的云旅程 1825
Autojs怎么安全加密?Autojs在線加密工具注意事項。 2707
Java JSON 組件選型之 FastJson 為什么總有漏洞? 8344
使用七牛云存儲實現圖片API,自動刪除圖片方案合集 2485
神速ICP備案經驗分享,ICP備案居然一天就通過了 3860
百度加強推送URL鏈接,百度SEO強行推送鏈接JavaScript代碼案例講解。 4094
SOJSON 拓展服務器被DDos攻擊了一晚上,是如何解決的? 4842
湖南地區備案“新增網站需提交組網方案或解釋說明”,關于備案做簡單敘述 5177
企查查你是個什么企業,騙子的幫兇,詐騙的集中營,通過企查查騷擾企業電話不斷,為所欲為的企查查 11992
最熱文章
蘋果電腦Mac怎么恢復出廠系統?蘋果系統怎么重裝系統? 464988
我為什么要選擇RabbitMQ ,RabbitMQ簡介,各種MQ選型對比 433249
免費天氣API,全國天氣 JSON API接口,可以獲取五天的天氣預報 364346
最新MyEclipse8.5注冊碼,有效期到2020年 (已經更新) 356836
免費天氣API,天氣JSON API,不限次數獲取十五天的天氣預報 321364
Elasticsearch教程(四) elasticsearch head 插件安裝和使用 239150
Jackson 時間格式化,時間注解 @JsonFormat 用法、時差問題說明 203527
談談斐訊路由器劫持,你用斐訊路由器,你需要知道的事情 146935
Elasticsearch教程(一),全程直播(小白級別) 127458
Java 信任所有SSL證書,HTTPS請求拋錯,忽略證書請求完美解決 105320

騷碼加入我們 / 千人QQ群:259217951

入群需要5元為的是沒有垃圾廣告,如果沒有QQ錢包,可以加群主拉進。

二維碼生成 來自 >> 二維碼生成器。

支付掃碼

所有贊助/開支都講公開明細,用于網站維護:贊助名單查看

查看我的收藏

正在加載... ...

时时乐上海走势图连线