spring mvc返回json could not find acceptable representation

上週用spring mvc 寫接口,使用的是3.2.8版本,調試出現could not find acceptable representation錯誤,網上都是說缺乏那兩個json包,我已經加上了。嘗試了不少辦法都沒有解決(主要是在配置文件上折騰了好久),最後不得不去debug源碼。html

在AbstractMessageConverterMethodProcessor中java

for (MediaType r : requestedMediaTypes) {
			for (MediaType p : producibleMediaTypes) {
				if (r.isCompatibleWith(p)) {
					compatibleMediaTypes.add(getMostSpecificMediaType(r, p));
				}
			}
		}

requestedMediaTypes返回的是text/htmlspring

而後json

if (compatibleMediaTypes.isEmpty()) {
			throw new HttpMediaTypeNotAcceptableException(producibleMediaTypes);
		}

就拋了錯誤,接着去對比以前一個項目,這個項目的spring mvc版本和如今的版本一致,只是底層有些東西不同,發現這個項目返回的是*/*。mvc

後來通過研究是這兩個項目請求的後綴不同,這個項目的後綴是.htm,以前的沒有後綴,接着把xml裏的攔截後綴也改爲/就成功返回json了。.net

http://blog.csdn.net/gbtyy/article/details/17165605 這篇講的很詳細,能夠看看。debug

這個問題真是搞了很久,以前就想把.htm改爲/的,一直懶的改,還有早點去看源碼就行了,都不會耽誤這麼長時間。。。調試

相關文章
相關標籤/搜索