繁体   English   中英

如何使用 Retrofit 发布复杂的 JSON 参数

[英]How can I use Retrofit to POST a complex JSON parameter

我需要做的 Post 请求应该是这样的

{
"project": {
    "name": "newname123",
    "identifier": "id55"},
"key":"8f583ad25100575b974062e0cee43e47aa158e4e"}

我能够使用 Postman 中的原始实现将它发送到服务器,但不知道如何使用 form-data 发送它

这是我的界面

@FormUrlEncoded
@POST("projects.json")
Call<Project> CreateProject(@Field(value = "project") ProjectToSend project,
                            @Field("key") String key);

无论我尝试用@body 还是@field 来做,它都不起作用。

ProjectToSend 类

public class ProjectToSend {
private String name;
private String identifier;

public ProjectToSend(String name, String identifier) {
    this.name = name;
    this.identifier = identifier;

您可以尝试使用此网站来创建复杂的POJO类: JSON schema 2 pojo

创建两个类来表示完整的JSON,如下所示:

public class Project {
    private ProjectToSend project;
    private String key;

    // getters and setters
}

public class ProjectToSend {
    private String name;
    private String identifier;

    // getters and setters
}

然后打电话:

@POST("put/the/url/here")
Call<Project> createUser(@Body Project project);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM