2017-08-17 14 views
0

我試圖使用改進將數據發佈到http://biokod.net:8990/api/users/,但我沒有獲得成功的響應。 JSON請求的嘗試使用改造後回覆不成功

實施例: - 成功的響應的

{"params": {"password": 
"8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92", "email": 
"[email protected]"}, "method": "login", "id": "12345", "jsonrpc": "2.0"} 

實施例: -

{'jsonrpc': '2.0', 'id': '12345', 'result': {'roles': [0], 'token': 
'VDKlZYXucIWdhvnbgFEPitkN', 'uid': 1}} 

用戶模型: -

public class User { 

    private Params params; 

    private String method; 

    private String id; 

    private String jsonrpc; 

    public Params getParams() { 
     return params; 
    } 

    public void setParams(Params params) { 
     this.params = params; 
    } 

    public String getMethod() { 
     return method; 
    } 

    public void setMethod(String method) { 
     this.method = method; 
    } 

    public String getId() { 
     return id; 
    } 

    public void setId(String id) { 
     this.id = id; 
    } 

    public String getJsonrpc() { 
     return jsonrpc; 
    } 

    public void setJsonrpc(String jsonrpc) { 
     this.jsonrpc = jsonrpc; 
    } 
} 

PARAMS模型:

public class Params { 

    private String password; 

    private String email; 

    public String getPassword() { 
     return password; 
    } 

    public void setPassword(String password) { 
     this.password = password; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 
} 

服務:

public interface UserClient { 
    @POST("user") 
    Call<User> login(@Body User user); 
} 

然後在點擊鏈接我創建用戶對象,並把它作爲參數傳遞給sendNetworkRequest方法

Params params = new Params(); 
params.setEmail("[email protected]"); 
params.setPassword("8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92"); 
User user = new User(); 
user.setParams(params); 
user.setMethod("login"); 
user.setId("12345"); 
user.setJsonrpc("2.0"); 

sendNetworkRequest(user); 

然而,當我檢查,如果反應是成功的我越來越假

private void sendNetworkRequest(User user){ 
     Retrofit.Builder builder = new Retrofit.Builder() 
       .baseUrl("http://biokod.net:8990/api/users/") 
       .addConverterFactory(GsonConverterFactory.create()); 

     Retrofit retrofit = builder.build(); 
     UserClient client = retrofit.create(UserClient.class); 
     Call<User> call = client.login(user); 
     call.enqueue(new Callback<User>() { 
      @Override 
      public void onResponse(Call<User> call, Response<User> response) { 
       if(response.isSuccessful()) 
        Log.d("testtest", response.body().toString()); 
       else 
        Log.d("testtest", "fail"); 
      } 

      @Override 
      public void onFailure(Call<User> call, Throwable t) { 

      } 
     }); 
    } 

無法弄清楚我做錯了什麼,任何幫助表示讚賞。

+0

是否有任何錯誤,你在logcat> – Reena

+1

你的基地址:http://biokod.net:8990/api/users/,你使用該端點爲:用戶。你的網址是否正確? –

+0

檢查您的網址和密鑰 –

回答

0

感謝Satan Pandeya的評論,我發現我錯了端點和url,正確的url應該是biokod.net:8990/api和端點用戶。謝謝你的幫助。

相關問題