问答详情
源自:4-8 JSON(中)

后续spring版本中的mediaTypes居然不支持setter方法了

ERROR: Bean property 'mediaTypes' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? 这个错误一直没有解决,后续spring版本中的mediaTypes居然不支持setter方法了,需要其他方法补救。

提问者:Terence_Jing 2016-12-26 16:25

个回答

  • Java_yk
    2019-11-30 20:30:18

     <bean id="contentNegotiationManager"  class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
           <property name="favorParameter" value="true"/>
           <property name="parameterName" value="format"/>
           <property name="ignoreAcceptHeader" value="false"/>
           <property name="mediaTypes">
               <value>
                    json=application/json
                    xml=application/xml
                    html=text/html
                </value>
           </property>
           <property name="defaultContentType" value="text/html"/>
        </bean>

  • Terence_Jing
    2016-12-26 17:04:02

    查到了,mediaTypes、setFavorPathExtension、setFavorParameter、setIgnoreAcceptHeader等方法都被spring的ContentNegotiatingViewResolver弃用了,这些方法都转移到ContentNegotiationManager里面了,所以需要使用ContentNegotiationManager的配置下的……go:……

    <property name="mediaTypes">

      <value>

    json=application/json

    xml=application/xml

    </value>

      </property>