與第三方對接web service的坑

現象1:對方已經訪問了我們的web service,也有正常返回(通過微軟的network monitor抓包),但是對方就是解析不到數據

原因:我們返回的HTTP頭裏是200,而不是200 OK,對方是按照後者判斷的。進一步研究,最終在stackoverflow上發現,這是tomcat版本的問題,8.5版本只會返回200

解決方法:更換tomcat版本http://docs.spring.io/spring-boot/docs/1.5.3.RELEASE/reference/htmlsingle/#howto-use-tomcat-7


現象2:也是不解析數據

原因:這次是因爲HTTP頭裏沒有content-length(chunked編碼),對方不支持

解決方法:在spring boot裏返回類型參數爲String的ResponseEntity。另外在@RequestMapping里加上produces="application/json;charset=UTF-8",否則content-type會是text/plain

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章