2016-12-21 70 views
0

API接口改造 - 如何与改造写澄清

public interface YourUsersApi { 
    @GET("/name/{name}") 
    public void getName(@Path("name") String user, Callback<pojo> response); 

    @GET("/gender/{gender}") 
    public void getName(@Path("gender") String user, Callback<pojo> response); 
} 

MainActivity

RestAdapter restAdapter = new RestAdapter.Builder() 
.setEndpoint("https://yourserveraddress.com").build(); 
YourUsersApi yourUsersApi = restAdapter.create(YourUsersApi.class); 

如果我想进入电影 “https://yourserveraddress.com/users/matthew”,我想补充一点的代码到MainActivity

  git.getPlaces(KEY, new Callback<pojo>() { 
       @Override 
       public void success(pojo pojo, Response response) { 
        Log.d("test1", "success"); 
       } 

       @Override 
       public void failure(RetrofitError error) { 
        Log.d("test1", error.toString()); 
       } 
      }); 
虽然出现个

两个问题:

  1. 我会怎么做,如果我想进入电影“https://yourserveraddress.com/users/matthew/gender/male”?我是否需要将interface methods连接在一起或某种类型?

  2. 有没有一种很有效的方法来编写interface methods?我觉得为每个人创建一个anonymous class是低效的。

+0

*我感觉自己就像每一个都是低效创建一个匿名类*以什么方式?你为什么这么认为? – shmosel

回答

0

有多种方式可以使用改造。如果你不想使用匿名类,那么你也可以按照下面的代码。

API接口

@GET("/name/{name}") 
public Pojo GetName (@Path ("name") String user); 

final Pojo pojo = git.getPlaces(KEY); 

为此,您可以获取有关它从这个链接更多的想法:https://medium.com/@shelajev/how-to-make-http-calls-on-android-with-retrofit-2-cfc4a67c6254#.llvydsa8a

+0

感谢您的信息。关于我的第一个问题,你知道如何访问“https://yourserveraddress.com/users/matthew/gender/male”给出了上面的两个'interface methods'吗? –

+0

我不明白你的问题,请详细说明一下吗? –