Java 如何使用GsonHttpMessageConverter获取oauth令牌?

Java 如何使用GsonHttpMessageConverter获取oauth令牌?,java,jackson,gson,spring-4,spring-oauth2,Java,Jackson,Gson,Spring 4,Spring Oauth2,我正在使用以下库: <bean id="gsonBuilder" class="com.google.gson.GsonBuilder"> <property name="dateFormat" value="yyyy'-'MM'-'dd" /> </bean> spring-security-oauth2-2.0.9 spring-4.2.1 Gson-2.2.4 并在applicationContext.xml中配置了GsonHttpMe

我正在使用以下库:

<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 
  • spring-security-oauth2-2.0.9
  • spring-4.2.1
  • Gson-2.2.4
并在applicationContext.xml中配置了GsonHttpMessageConverter:

<mvc:annotation-driven>   
   <mvc:message-converters>
            <bean class="org.springframework.http.converter.json.GsonHttpMessageConverter">
            <property name="gson" ref="gson"/>
             <property name="supportedMediaTypes" value="application/json" />
             <property name="prefixJson" value="false"/>
    </bean>
     </mvc:message-converters>
 </mvc:annotation-driven>
<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 

增加:

  <bean id="gsonFactoryBean" class="org.springframework.http.converter.json.GsonFactoryBean">
<property name="dateFormatPattern" value="yyyy'-'MM'-'dd"/>
<property name="disableHtmlEscaping" value="true"/>
<property name="prettyPrinting" value="true"/>
  <!--    <property name="gson" ref="gson"/>-->
        </bean>
<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 

<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 

默认情况下,spring-oauth2使用jackson转换器对json进行序列化/反序列化。由于包含了jackson库,我无法从SpringTokenEndpointService获取oauth令牌。当我注释messageconverters标记时,我能够获得oauth令牌。请告诉我如何使用GsonHttpMessageConverter获取oauth令牌,或者是否有其他方法获取oauth令牌

<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 
调试GsonHttpMessageConverter代码时,它抛出HttpMessageGenetWritableException,请帮助。似乎OAuth2AccessToken.java具有expiration属性,该属性为java.util.Date类型,这可能是配置的转换器的问题。我们需要这个转换器以这种格式发布json日期。请帮忙

<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 

提前感谢。

我的Http请求对象包含一个递归字段。当在spring中配置Gson转换器时,它会自动将带有递归字段对象的HTTP请求转换为其db对象,但当它关闭时,会引发异常“不支持的媒体类型”。OAuth2Token使用Jackson序列化器/反序列化器,因此当使用Gson转换器配置时,Spring会抛出HttpMessageNotWritableException

<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean> 

感谢

访问此处:有关更多详细信息,请查看:我认为问题在于GsonHttpMessageConverter无法将OAuth2AccessToken转换为json,因为它包含过期属性,该属性的格式与转换器的指定格式不匹配。
<bean id="gsonBuilder" class="com.google.gson.GsonBuilder">
    <property name="dateFormat" value="yyyy'-'MM'-'dd" />

</bean>