Essential Android Retrofit2 edit forum

Header and Body an Authentication Example

The @Header and @Body annotations can be placed into the method signatures and Retrofit will automatically create them based on your models.

public interface MyService {
     Call<AuthenticationResponse> authenticateUser(@Body AuthenticationRequest request, @Header("Authorization") String basicToken);

AuthenticaionRequest is our model, a POJO, containing the information the server requires. For this example, our server wants the client key and secret.

public class AuthenticationRequest {
     String clientKey;
     String clientSecret;

Notice that in @Header("Authorization") we are specifying we are populating the Authorization header. The other headers will be populated automatically since Retrofit can infer what they are based on the type of objects we are sending and expecting in return.

We create our Retrofit service somewhere. We make sure to use HTTPS.

Retrofit retrofit = new Retrofit.Builder()
            .baseUrl("https:// some example site")
MyService myService = retrofit.create(MyService.class)

Then we can use our service.

AuthenticationRequest request = new AuthenticationRequest();
String basicToken = "Basic " + token;
myService.authenticateUser(request, basicToken);

Table Of Contents
37 Retrofit2
64 Menu
112 Loader
119 Xposed
132 Colors
135 Fresco
140 AdMob
147 Button
156 Vk SDK
170 XMPP
176 OpenCV
200 FileIO
203 Moshi
217 Paint
231 AIDL
241 JCodec
243 Okio
255 Looper
  ↑ ↓ to navigate     ↵ to select     Esc to close