No converter found for return value of type: class java.util.HashMap + 'Content-Type' cannot contain wildcard type '*'


背景說明:

環境:IDEA java語言 springmvc.xml 配置 需要用到fastjson jackson pom.xml中配置了需要用到的包,springmvc.xml中也寫了注解驅動

Controller中返回Object類型

到返回Map類型的時候

Controller中代碼如下:

 @RequestMapping(name="/returnMap.do")
 @RequestMapping("/returnMap.do")
    @ResponseBody //將返回值添加到響應體中
    public  Object returnMap()throws  Exception{
        Map<String,String> map = new HashMap<>();
        map.put("hello","你好");
        map.put("World","先生");
        return map;
    }

運行報: java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.HashMap 說明:首要要看一下library是否導進去,也就是自己寫完pom.xml之后有沒有reimport,其次看一下注解驅動有沒有配置,也就是jackson的那三個包,最后再從其他方面找原因。百度后,又說fastjson版本的問題的,試了無果,加了個

 <mvc:annotation-driven>
        <mvc:message-converters>
            <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"/>
        </mvc:message-converters>
    </mvc:annotation-driven>

也沒解決,后邊還添加 :

<!-- https://mvnrepository.com/artifact/org.codehaus.jackson/jackson-mapper-asl -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.9.13</version>
    </dependency>

然后就換成了報:java.lang.IllegalArgumentException: 'Content-Type' cannot contain wildcard type '*'

然后又是一頓百度,試了各種方法還是沒能解決問題  

然后就看到了下邊這個試了一下:錯誤消除,代碼如下

 @RequestMapping(name="/returnMap.do",consumes = MediaType.APPLICATION_JSON_VALUE)
    @ResponseBody //將返回值添加到響應體中
    public  Object returnMap()throws  Exception{
        Map<String,String> map = new HashMap<>();
        map.put("hello","你好");
        map.put("World","先生");
        return map;
    }

改變部分:

 @RequestMapping(name="/returnMap.do",consumes = MediaType.APPLICATION_JSON_VALUE)
    

注意對比 你就會發現哦!

所以導致最后自己都不知道到底是因為那個解決了問題😓

BUT,啟動后才返現返回來的消息是:

Status Code:
415 Unsupported Media Type  /(ㄒoㄒ)/~~

參考鏈接:

http://www.mamicode.com/info-detail-2562906.html

 所以,最終還是沒能解決問題!

周末有時間又回來繼續啃這個,再次從頭分析問題,首先,注解有,其次包在項目里,不在模塊里,試了把包放在模塊下,reimport,重啟,問題解決!按道理說模塊里的包可以放到項目下邊,項目下邊的包模塊里也可以用,但是這個問題確實是由於模塊下沒有包導致的!

折騰了一大圈,還是回到了問題的起點!所以萬變不離其宗,基礎不牢,地動山搖!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM