如何使用 GsonHttpMessageConverter 获取 oauth 令牌?
How to get oauth token with GsonHttpMessageConverter?
我正在使用以下库:
- 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="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。
谢谢
我正在使用以下库:
- 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="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。
谢谢