public abstract class AbstractOAuth1ApiBinding extends Object implements ApiBinding, InitializingBean
Modifier | Constructor and Description |
---|---|
protected |
AbstractOAuth1ApiBinding()
Constructs the API template without user authorization.
|
protected |
AbstractOAuth1ApiBinding(String consumerKey,
String consumerSecret,
String accessToken,
String accessTokenSecret)
Constructs the API template with OAuth credentials necessary to perform operations on behalf of a user.
|
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
After construction, include option to decorate the
RestTemplate followed by an optional
configuration step. |
protected void |
configureRestTemplate(RestTemplate restTemplate)
Subclassing hook to enable customization of the RestTemplate used to consume provider API resources.
|
protected ByteArrayHttpMessageConverter |
getByteArrayMessageConverter()
Returns a
ByteArrayHttpMessageConverter to be used by the internal RestTemplate when consuming image or other binary resources. |
protected FormHttpMessageConverter |
getFormMessageConverter()
Returns an
FormHttpMessageConverter to be used by the internal RestTemplate . |
protected MappingJackson2HttpMessageConverter |
getJsonMessageConverter()
Returns a
MappingJackson2HttpMessageConverter to be used by the internal RestTemplate . |
protected List<HttpMessageConverter<?>> |
getMessageConverters()
Returns a list of
HttpMessageConverter s to be used by the internal RestTemplate . |
RestTemplate |
getRestTemplate()
Obtains a reference to the REST client backing this API binding and used to perform API calls.
|
boolean |
isAuthorized()
Returns true if this API binding has been authorized on behalf of a specific user.
|
protected void |
postConstructionConfiguration()
An extension point to perform key initialization after everything is configured.
|
protected RestTemplate |
postProcess(RestTemplate restTemplate)
Extensible hook to decorate
RestTemplate or wrap it with a proxy of any type. |
void |
setRequestFactory(ClientHttpRequestFactory requestFactory)
Set the ClientHttpRequestFactory.
|
protected AbstractOAuth1ApiBinding()
protected AbstractOAuth1ApiBinding(String consumerKey, String consumerSecret, String accessToken, String accessTokenSecret)
consumerKey
- the application's consumer keyconsumerSecret
- the application's consumer secretaccessToken
- the access tokenaccessTokenSecret
- the access token secretpublic void setRequestFactory(ClientHttpRequestFactory requestFactory)
requestFactory
- the request factorypublic boolean isAuthorized()
ApiBinding
isAuthorized
in interface ApiBinding
MissingAuthorizationException
public RestTemplate getRestTemplate()
RestTemplate.setMessageConverters(java.util.List)
,
RestTemplate.setErrorHandler(org.springframework.web.client.ResponseErrorHandler)
protected void configureRestTemplate(RestTemplate restTemplate)
restTemplate
- the RestTemplate to configure.protected List<HttpMessageConverter<?>> getMessageConverters()
HttpMessageConverter
s to be used by the internal RestTemplate
.
By default, this includes a StringHttpMessageConverter
, a MappingJackson2HttpMessageConverter
, a ByteArrayHttpMessageConverter
, and a FormHttpMessageConverter
.
The FormHttpMessageConverter
is set to use "UTF-8" character encoding.
Override this method to add additional message converters or to replace the default list of message converters.HttpMessageConverter
s to be used by the internal RestTemplate
.protected FormHttpMessageConverter getFormMessageConverter()
FormHttpMessageConverter
to be used by the internal RestTemplate
.
By default, the message converter is set to use "UTF-8" character encoding.
Override to customize the message converter (for example, to set supported media types or message converters for the parts of a multipart message).
To remove/replace this or any of the other message converters that are registered by default, override the getMessageConverters() method instead.FormHttpMessageConverter
to be used by the internal RestTemplate
.protected MappingJackson2HttpMessageConverter getJsonMessageConverter()
MappingJackson2HttpMessageConverter
to be used by the internal RestTemplate
.
Override to customize the message converter (for example, to set a custom object mapper or supported media types).
To remove/replace this or any of the other message converters that are registered by default, override the getMessageConverters() method instead.MappingJackson2HttpMessageConverter
to be used by the internal RestTemplate
.protected ByteArrayHttpMessageConverter getByteArrayMessageConverter()
ByteArrayHttpMessageConverter
to be used by the internal RestTemplate
when consuming image or other binary resources.
By default, the message converter supports "image/jpeg", "image/gif", and "image/png" media types.
Override to customize the message converter (for example, to set supported media types).
To remove/replace this or any of the other message converters that are registered by default, override the getMessageConverters() method instead.ByteArrayHttpMessageConverter
to be used by the internal RestTemplate
when consuming image or other binary resources.public void afterPropertiesSet() throws Exception
RestTemplate
followed by an optional
configuration step. Many providers initialize sub-APIs, and this provides a convenient hook.afterPropertiesSet
in interface InitializingBean
Exception
- if any error occurs decorating the RestTemplateprotected RestTemplate postProcess(RestTemplate restTemplate)
RestTemplate
or wrap it with a proxy of any type. By default, it just passes it through with no changes.restTemplate
- the RestTemplate to decorateprotected void postConstructionConfiguration()