在身体改造中发布原始json2

时间:2016-08-05 11:11:49

标签: android retrofit2

我想要发布像这样的json请求

{“jsonrpc”:“2.0”,“method”:“testApi”,“params”:{     “message”:“abc” } ,“id”:1}

我看了帖子:

How to POST raw whole JSON in the body of a Retrofit request?

但我无法在我的retrofit2包中找到类TypedInput,TypedByteArray,TypedString。在哪里?

2 个答案:

答案 0 :(得分:3)

发布数据到服务器需要后端程序,这会将数据发布到服务器中的数据 .....

Retrofit Post需要RESTAPI和POJO Class ....

API接口

public interface Api {
    @POST("/upload/{new}.json")
    Call<User> setData(@Path("new") String s1, @Body User user);
}

改造对象

Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("here-your-url")
                .addConverterFactory(GsonConverterFactory.create()) 
                .build(); 

APi对象

Api api = retrofit.create(Api.class);

改装电话

Call<User> call = api.setData("mahesh", new User("mahesh", "delhi"));
    call.enqueue(new Callback<User>() {
        @Override
        public void onResponse(Call<User> call, Response<User> response) {
            t1.setText("Success");
        }

        @Override
        public void onFailure(Call<User> call, Throwable t) {
            Log.d("sam", "fail");
            t1.setText("fail");
        }
    });

POJO类//您创建的这个类只是将您的json数据放入此POJOConvertion

public class User {

    String name;
    String address;

    public User(String name, String address) {
        this.address = address;
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

享受编码。

如果您想要进行任何改造练习,请使用此 Retrofit + Firebase

答案 1 :(得分:2)

要在@ContextConfiguration(locations = "/test-config.xml") public class UserController { @Autowired UserService userservice; public String getPrenom(){ return userservice.findByUserName(); } } 中发布正文,您可以创建一个表示此正文的对象,一个包含RetrofitString jsonrpc等的类。然后,将此对象传递给您在服务界面中定义并具有带String method注释的参数。

以下是POST正文对象的示例:

@Body