• Retrofit的使用


      Retrofit对象创建采用的是建造者模式,baseUrl 必须得指定,url有两种情况(schme://host/path/path/path/),只写到主机名(host),或者写path后跟/结束。其他的形式的是非法的。

    1 Retrofit retrofit = new Retrofit.Builder()
    2     .baseUrl(API_URL)
    3     .addConverterFactory(GsonConverterFactory.create())
    4     .build();

      retrofit是通过对方法的反射来执行网络请求,需要方法的注解和参数列表,不需要方法体,所以调用create()方法时要的是一个接口,在这个方法中创建了Github接口的代理,其中接口中的方法代码一个完整的请求,用方法注解来表示网络请求的方法和url,其中url中的path是可以即时变化的,变化的值放在方法的参数列表中,参数列表的注解来表示该参数对应url中的哪一部分。

    public interface GitHub {
      @GET("/repos/{owner}/{repo}/contributors")
      Call<List<Contributor>> contributors(@Path("owner") String owner, @Path("repo") String repo);
    }
    GitHub github = retrofit.create(GitHub.class);

    Retrofit用给方法加的注解来定义网络请求的方式,包含以下注解:

    @DELETE

    @GET:对应GET请求方式,注解的值是要请求的路径

    @POST:POST请求方式,用于提交数据到服务器

    @PUT

    @HEAD

    @OPTIONS

    @PATCH

    @HTTP:自定义请求方式

    @Headers

    @Multipart

    @FormUrlEncoded

  • 相关阅读:
    网游内存数据库的设计(1)
    基于用户级线程的远程调用效率测试
    实现c协程
    KendyNet for linux
    开源一个lua的网络库
    C语言重写网络发送/接收封包
    C协程使用举例
    各种内存分配器的对比测试
    KendyNet性能测试
    C协程实现的效率对比
  • 原文地址:https://www.cnblogs.com/minguo/p/6701095.html
Copyright © 2020-2023  润新知