Клиентская сторона :
Код: Выделить всё
OkHttpClient httpClient = new OkHttpClient();
Request request = new Request.Builder()
.url("http://localhost:8081/temp/getResponse2")
.build();
Response response = httpClient.newCall(request).execute();
final String body = response.body().string();
response.body().close();
System.out.println("The response is: " + response.toString());
System.out.println("The body in response is: " + body);
return body;
Код: Выделить всё
@GetMapping(path = "/temp/getResponse2")
public Response testGETAWBNotes2() throws IOException {
final ABNotes abNotes = ABNotes.builder()
.name("name")
.remarks("remarks")
.build();
// return new ResponseEntity(awbNotes, HttpStatus.OK);
Request request = new Request.Builder()
.url("https://www.google.com")
.build();
okhttp3.ResponseBody responseBody = okhttp3.ResponseBody.create(objectMapper.writeValueAsString(abNotes),
MediaType.parse("application/json; charset=utf-8"));
Response response = new Response.Builder()
.request(request)
.body(responseBody)
.protocol(Protocol.HTTP_1_1)
.message("Success")
.code(200)
.build();
System.out.println("the body is: " + response.body().string());
response.body().close();
return response;
}
"тело: {"name":"name","remarks":" примечания"}"
Там, где на стороне клиента я вижу объект тела как:
"Тело ответа: {"lazyCacheControl $okhttp":null,"redirect":false,"successful":true}"
Но когда я использовал RepsonseEntity для возврата объекта ABNotes со стороны сервера я смог увидеть объект ABNotes на стороне клиента, но это не тот случай, когда я возвращаю ohttp.Response со стороны сервера.
Еще один вопрос это: Каким должен быть объект запроса, который мы должны поместить в тело ответа? Если наш API не принимает никаких входных данных от клиента, какой запрос мы должны поместить в ответ в этом случае, будет ли размещение фиктивный объект запроса работает?
Мне не удалось найти ни одного полезного примера построения ответов на стороне сервера в сочетании с примером кода на стороне клиента. Есть какие-нибудь мысли или предложения о том, где я делаю ошибку?
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/787 ... lient-side
Мобильная версия