zoukankan      html  css  js  c++  java
  • Retrofit最基本用法

    package qianxingzhe.retrofit_learning;
    
    import java.util.List;
    import java.util.Map;
    
    import retrofit2.Call;
    import retrofit2.http.Body;
    import retrofit2.http.Field;
    import retrofit2.http.FieldMap;
    import retrofit2.http.FormUrlEncoded;
    import retrofit2.http.GET;
    import retrofit2.http.POST;
    import retrofit2.http.Path;
    import retrofit2.http.Query;
    import retrofit2.http.QueryMap;
    
    /**
     * Created by lunyi.yly on 16/8/7.
     */
    
    public interface GitHubService {
        @GET("repos/{owner}/{repo}/contributors")
        Call<List<Contributor>> listContributor(@Path("owner") String owner, @Path("repo") String repo);
    
        /**
         * 一个简单的get请求。如: http://102.10.10.132/api/News
         *
         * @return
         */
        @GET("News")
        Call<String> get_01();
    
        /**
         * URL中有参数。如: http://102.10.10.132/api/News/1
         *
         * @param newsId
         * @return
         */
        @GET("News/{newsId}")
        Call<String> get_02(@Path("newsId") String newsId);
    
        /**
         * 参数在URL问号之后。如: http://102.10.10.132/api/News?newsId=1
         *
         * @param newsId
         * @return
         */
        @GET("News")
        Call<String> get_03(@Query("newsId") String newsId);
    
        /**
         * 多个参数在URL问号之后,且个数不确定。如: http://102.10.10.132/api/News?newsId=1&type=类型1...
         *
         * @param map
         * @return
         */
        @GET("News")
        Call<String> get_04(@QueryMap Map<String, String> map);
    
        /**
         * 需要补全URL,post的数据只有一条reason。如: http://102.10.10.132/api/Comments/1
         *
         * @param newsId
         * @param reason
         * @return
         */
        @FormUrlEncoded
        @POST("Comments/{newsId}")
        Call<String> post_01(@Path("newsId") String newsId, @Field("reason") String reason);
    
        /**
         * 需要补全URL,问号后加入access_token,post的数据只有一条reason。如:http://102.10.10.132/api/Comments/1?access_token=1234123
         *
         * @param newsId
         * @param access_token
         * @param reason
         * @return
         */
        @FormUrlEncoded
        @POST("Comments/{newsId}")
        Call<String> post_02(@Path("newsId") String newsId, @Query("access_tolen") String access_token, @Field("reason") String reason);
    
        /**
         * 需要补全URL,问号后加入access_token,post的数据有多条。如:http://102.10.10.132/api/Comments/1?access_token=1234123
         *
         * @param newsId
         * @param access_token
         * @return
         */
        @FormUrlEncoded
        @POST("Comments/{newsId}")
        Call<String> post_03(@Path("newsId") String newsId, @Query("access_tolen") String access_token, @FieldMap Map<String, String> map);
    
        /**
         * 需要补全URL,问号后加入access_token,post一个body(对象)。如:http://102.10.10.132/api/Comments/1?access_token=1234123
         *
         * @param newsId
         * @param access_token
         * @param contributor
         * @return
         */
        @FormUrlEncoded
        @POST("Comments/{newsId}")
        Call<String> post_04(@Path("newsId") String newsId, @Query("access_tolen") String access_token, @Body Contributor contributor);
    }
    
    
  • 相关阅读:
    2020-2021-1 20201216 《信息安全专业导论》第十周学习总结
    2020-2021-1 20201216 《信息安全专业导论》第9周学习总结
    熟悉编程语言
    2020-2021-1 20201216 《信息安全专业导论》第八周学习总结
    如何学好编程
    2020-2021第一学期20202428《计算机科学概论》第二周自习总结
    “七剑下天山”学习小组第一周学习中遇到的问题及解决
    2020-2021第一学期20202407《计算机科学概论》第一次学习总结
    开启我的测试之路
    大数据测试
  • 原文地址:https://www.cnblogs.com/FlySheep/p/5746153.html
Copyright © 2011-2022 走看看