我目前正在爲Android應用程序使用改造。 這對我來說是非常新穎的,我試圖找出處理簡單請求而不會變得混亂的最佳方法。Java - 改進2請求良好實踐
我的客戶正在使用JSON(改造的JacksonConverter)與我的服務器進行通信。 所以現在,我終於實現了這樣的事情:
public interface MyWebService {
class RequestLogin {
public String email;
public String hash;
public RequestLogin(String email, String hash) {
this.email = email;
this.hash = hash;
}
}
@POST("/login")
Call<String> login(@Body RequestLogin body);
}
public void someFunction() {
Call<String> call = serviceInstance.login(new RequestLogin("some_mail", "some_hash"));
}
在這裏你可以看到我的/login
路線需要一個簡單的JSON:
{
"email": "some_email_here",
"hash": "some_passwd_hash_here"
}
,並返回體內一個簡單的字符串。
這並不壞,但恐怕事情會隨着時間變得混亂。
正在創建一個對象是使用改造在請求正文內部使用JSON的唯一方法嗎?
也許有辦法做這樣的事情,而不是:
@POST("/login")
Call<String> login(@MagicTag String email, @MagicTag String hash);
我可能會從庫的Javadoc丟失,但該網站是不是當你從來沒有使用過非常明確的。如果存在,我沒有找到任何使用它的示例。
感謝您的回答。我認爲@FormUrlEncoded被用來暗示在URL中添加參數,而不是在JSON中添加參數。我會盡快嘗試,並讓你知道 – Ganitzsh
@Ganitzsh在這個:)的任何更新? – jadkachmar
抱歉,延遲。我試過了,它不起作用。正如預期的那樣,它將作爲表單發送到服務器,而不是發送到請求的正文中。 – Ganitzsh