問題現象:
Client使用URL發送時http://service/xxx?typeEnum=MAN
Server可以接收,但是當使用FormData來傳遞Enmu時,對方報
Failed to convert value of type 'java.lang.String' to required type “enum”
核心問題在於,當你按部就班:
Map formData=new LinkedMultiValueMap()
formData.add("typeEnum",TypeEnum.MAN)
時,Server端接收到的是”\"MAN\""字符串,Server端spring最終層層delegate調用到的Enum.valueOf(EnumType,String value)方法當然不能識別到了
解決方案非常簡單:
formData.add("typeEnum",TypeEnum.MAN.toString())
即可,這樣Server端接收到的就是"MAN"字符串了,接收就正常了