2017-09-13 37 views
0

我有一個json數據要在android howerver中使用retrofit發送,它不會發送到服務器。我在服務器端使用了苗條框架。使用改進發送POST請求的錯誤

這是我的Android客戶端界面

public interface RequestInterface 
    { 
    @Headers("Content-type: application/json") 
    @POST("/instituteRegister") 
    Call<InstRegServerResponse> sendInstRegData(@Body InstRegServerRequest 
    post); 
    } 

這是報名方式

>  public void signup() 
     { 
     String regdName = _regdName.getText().toString(); 
     String email = _email.getText().toString(); 
     String password = _password.getText().toString(); 
     Log.d("password", password); 
     Retrofit retrofit = new Retrofit.Builder() 
       .baseUrl(Constants.BASE_URL) 
       .addConverterFactory(GsonConverterFactory.create()) 
       .build(); 
     RequestInterface requestInterface = 
     retrofit.create(RequestInterface.class); 
     InstRegServerRequest instRegServerRequest = new InstRegServerRequest(); 
     instRegServerRequest.setiname(instituteName); 
     instRegServerRequest.setemail(email); 
     instRegServerRequest.setpassword(password); 
     Call<InstRegServerResponse> response = 
     requestInterface.sendInstRegData(instRegServerRequest); 
     response.enqueue(new Callback<InstRegServerResponse>() 
     { 
      @Override 
     public void onResponse(Call<InstRegServerResponse> call, 
     retrofit2.Response<InstRegServerResponse> response) 
     { 
       InstRegServerResponse resp = response.body(); 
       Log.d("status:", "sign up success"); 
     } 
      @Override 
      public void onFailure(Call<InstRegServerResponse> call, Throwable t) 
      { 
       Log.d(Constants.TAG,"signed up failed"); 
      } 
     }); 
     } 

誤差在JSON數據沒有傳遞到服務器 的API端點正常工作因爲我已經測試了它在android logcat中使用郵遞員 我得到註冊成功,但在服務器端我認爲json沒有正確傳遞,這就是爲什麼我無法將數據寫入數據庫

+0

刪除'/''從/ instituteRegister'。 –

+0

仍然沒有發送JSON數據 –

+0

您不需要指定'@Headers(「Content-type:application/json」)'。 –

回答

0

試試這個。

@Headers("Content-Type: application/json; charset=UTF-8") 
@POST("instituteRegister") 
Call<InstRegServerResponse> sendInstRegData(@Body Map<String, Object> params); 

使用Map<String, Object>構造您的JSON對象。

實施例:

Map<String, Object> param = new HashMap<>(); 
param.put("YOUR_KEY", YOUR_VALUE);