Class JSONAPIConverterFactory


  • public class JSONAPIConverterFactory
    extends retrofit2.Converter.Factory
    JSON API request/response converter factory.
    Author:
    jbegic
    • Constructor Detail

      • JSONAPIConverterFactory

        public JSONAPIConverterFactory​(ResourceConverter deserializer,
                                       ResourceConverter serializer)
        Creates new JSONAPIConverterFactory.
        Parameters:
        deserializer - ResourceConverter converter instance to be used for deserializing responses
        serializer - ResourceConverter converter instance to be used for serializing requests
      • JSONAPIConverterFactory

        public JSONAPIConverterFactory​(com.fasterxml.jackson.databind.ObjectMapper mapper,
                                       Class<?>... classes)
        Creates new JSONAPIConverterFactory.
        Parameters:
        mapper - ObjectMapper raw data mapper
        classes - classes to be handled by this factory instance
    • Method Detail

      • setAlternativeFactory

        public void setAlternativeFactory​(retrofit2.Converter.Factory alternativeFactory)
        Sets alternative converter factory to use in case type is cannot be handled by this factory.
        This method is useful in cases where you want to use same retrofit instance to consume primary JSON API spec APIs and some other APIs that are not JSON API spec compliant, eg. JSON.
        Parameters:
        alternativeFactory - factory implementation
      • responseBodyConverter

        public retrofit2.Converter<okhttp3.ResponseBody,​?> responseBodyConverter​(Type type,
                                                                                       Annotation[] annotations,
                                                                                       retrofit2.Retrofit retrofit)
        Overrides:
        responseBodyConverter in class retrofit2.Converter.Factory
      • requestBodyConverter

        public retrofit2.Converter<?,​okhttp3.RequestBody> requestBodyConverter​(Type type,
                                                                                     Annotation[] parameterAnnotations,
                                                                                     Annotation[] methodAnnotations,
                                                                                     retrofit2.Retrofit retrofit)
        Overrides:
        requestBodyConverter in class retrofit2.Converter.Factory