DeserializeErrorBody.java 文件源码

java
阅读 34 收藏 0 点赞 0 评论 0

项目:GitHub 作者:
public static void main(String... args) throws IOException {
  // Create a local web server which response with a 404 and JSON body.
  MockWebServer server = new MockWebServer();
  server.start();
  server.enqueue(new MockResponse()
      .setResponseCode(404)
      .setBody("{\"message\":\"Unable to locate resource\"}"));

  // Create our Service instance with a Retrofit pointing at the local web server and Gson.
  Retrofit retrofit = new Retrofit.Builder()
      .baseUrl(server.url("/"))
      .addConverterFactory(GsonConverterFactory.create())
      .build();
  Service service = retrofit.create(Service.class);

  Response<User> response = service.getUser().execute();

  // Normally you would check response.isSuccess() here before doing the following, but we know
  // this call will always fail. You could also use response.code() to determine whether to
  // convert the error body and/or which type to use for conversion.

  // Look up a converter for the Error type on the Retrofit instance.
  Converter<ResponseBody, Error> errorConverter =
      retrofit.responseBodyConverter(Error.class, new Annotation[0]);
  // Convert the error body into our Error type.
  Error error = errorConverter.convert(response.errorBody());
  System.out.println("ERROR: " + error.message);

  server.shutdown();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号