gpt4 book ai didi

java - 改造:发布原始文本 "user={"key 1": "value1"等}?

转载 作者:太空宇宙 更新时间:2023-11-04 13:34:19 25 4
gpt4 key购买 nike

所以我对这个库(Retrofit)还很陌生,实际上我陷入了一个非典型案例。

我有一个 API,我尝试在其中注册(注册)新用户,为了测试它,我在 Chrome 上使用“DHC Rest Client”。当我发送这个时它起作用了(见下文):

标题:

内容类型:application/x-www-form-urlencoded

正文(文本)

user={"key1": "value1", "key2": "value2", 等等}

所以我的计划是在 Android 上做同样的事情!我创建了一个界面(见下文):

界面

interface RestRegister{
@Headers("Content-Type: application/x-www-form-urlencoded")
@POST("/api/register")
void postRegister(@Body String user, Callback<LoginResponse> callback);
}

但我总是得到“失败!”来自回调错误处理程序。我正确地获得了正确的参数(我将其作为具有正确格式的简单字符串 - "user={\"email\":\"lol@lol.us\", etc.}")。

RestAdapter restAdapter = new RestAdapter.Builder()
.setEndpoint("http://ENDPOINT:3000/")
.build();

RestRegister restRegister = restAdapter.create(RestRegister.class);

restRegister.postRegister("user={\"email\":\"lol@lol.us\",\"first_name\":\"jean\",\"last_name\":\"loop\",\"password\":\"test95test\",\"gender\":\"1\",\"birthdate\":\"1978/05/16\"}", new Callback<LoginResponse>() {
@Override
public void success(LoginResponse loginResponse, Response response) {
Toast.makeText(SignUp.this, query, Toast.LENGTH_LONG).show();
Toast.makeText(SignUp.this, "Created !", Toast.LENGTH_LONG).show();
Intent intent = new Intent("com.signupconfirmation");
startActivity(intent);
}

@Override
public void failure(RetrofitError error) {
Toast.makeText(SignUp.this, query, Toast.LENGTH_LONG).show();
Toast.makeText(SignUp.this, "Failed !", Toast.LENGTH_LONG).show();
}
});
}
});

后来我也想以正确的格式创建一个 JSONObject ;)。

等待您的答复:)!

最佳答案

文档是这样建议的:

@FormUrlEncoded
@POST("/user/edit")
User updateUser(@Field("first_name") String first, @Field("last_name") String last);

在你的情况下,它是:

interface RestRegister{
@FormUrlEncoded
@POST("/api/register")
void postRegister(@Field("user") String data, Callback<LoginResponse> callback);
}

然后:

restRegister.postRegister("{\"email\":\"lol@lol.us\",\"first_name\":\"jean\",\"last_name\":\"loop\",\"password\":\"test95test\",\"gender\":\"1\",\"birthdate\":\"1978/05/16\"}", ...);

关于java - 改造:发布原始文本 "user={"key 1": "value1"等}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31855793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com