Пример веб-службы без заголовков:
public interface ApiService {
@GET("/webservice/xml")
Call<YourClass> getXml();
}
Вот как мы добавляем статические и динамические заголовки:
public interface ApiService {
@Headers({"Accept: application/json"})
@GET("/webservice/xml")
Call<YourClass> getXml(@Header("Authorization") String authorization);
}
Использование ApiService:
new Retrofit.Builder()
.baseUrl("server ip")
.addConverterFactory(SimpleXmlConverterFactory.create())
.build().create(ApiService.class).getXml("This is a value that will be sent as authorization header");
ВЧтобы использовать этот код, вы должны добавить следующие строки в свой файл Gradle:
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile('com.squareup.retrofit2:converter-simplexml:2.1.0') {
exclude group: 'xpp3', module: 'xpp3'
exclude group: 'stax', module: 'stax-api'
exclude group: 'stax', module: 'stax'
}
Вот хороший учебник https://futurestud.io/tutorials/retrofit-add-custom-request-header