如何使用 GsonHttpMessageConverter 获取 oauth 令牌?

How to get oauth token with GsonHttpMessageConverter?

我正在使用以下库:

并在 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="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> 

默认情况下 spring-oauth2 使用 jackson-converter 到 serialize/deserialize json。通过包含 jackson 库,我无法从 spring TokenEndPoint 服务获取 oauth 令牌。当我评论 message-converters 标签时,我能够获得 oauth 令牌。请告诉我如何使用 GsonHttpMessageConverter 获取 oauth 令牌,或者是否有任何其他方式获取 oauth 令牌。

调试GsonHttpMessageConverter代码时,抛出HttpMessageNotWritableException,求助。似乎 OAuth2AccessToken.java 具有 java.util.Date 类型的过期属性,这可能是配置转换器的问题。我们需要此转换器以 POST-ing json 格式的日期。请帮忙

提前致谢。

我的 Http 请求对象包含一个 RECURSIVE 字段。 Gson 转换器在 spring 中配置时自动将带有递归字段对象的 HTTP 请求转换为它们的 db 对象,但是当它被关闭时它会抛出异常 "Unsupported media type"。 OAuth2Token 使用 Jackson 序列化器/反序列化器,因此当配置 Gson 转换器时,Spring 抛出 HttpMessageNotWritableException。

谢谢