У меня есть тестовый http-сервер, который возвращает некоторые аннотированные классы Джексона, а один метод возвращает необработанную строку. Аннотированные классы Джексона хорошо сериализуются в строки json, но строка, возвращаемая getUserName(), не сериализуется json. Клиент модернизации, который я использую, ожидает, что строка, возвращаемая методом getUserName(), будет сериализована json, и выдает исключение во время десериализации. Есть ли какая-то аннотация, которую я могу использовать, чтобы сообщить модификациям, чтобы они не десериализовали строку, возвращаемую этим методом.
===== Тестовый HTTP-сервер =====
@Path("v1/testserver")
public class TestServer {
@GET
@Path("username")
public String getUserName() {
return "Dummy user name";
}
.........
}
===== Протестируйте Http-клиент с помощью Retrofit =====
public interface RetrofitTestService {
@GET("username")
Call<String> getUserName();
}
public class TestClient {
public static void main(String[] args) {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://localhost:8080/v1/testserver/")
.addConverterFactory(JacksonConverterFactory.create())
.build();
RetrofitTestService service = retrofit.create(RetrofitTestService.class);
Call<String> userName = service.getUserName();
try {
System.out.printf("UserName: " + userName.execute().body());
} catch (IOException e) {
e.printStackTrace();
}
}
}