示例如下
HttpService.java
importokhttp3.RequestBody;importretrofit2.Call;importretrofit2.http.Body;importretrofit2.http.Headers;importretrofit2.http.POST;public interfaceHttpService {
String BASE_URL= "http://47.99.62.153:7076/";
@Headers("Content-Type: application/json")
@POST("xinyan/resultCallBack")
CallgetResultCallback(@Body RequestBody body);
}
Entry.java
importokhttp3.MediaType;importokhttp3.RequestBody;importretrofit2.Call;importretrofit2.Callback;importretrofit2.Response;importretrofit2.Retrofit;importretrofit2.converter.gson.GsonConverterFactory;importjava.util.logging.Level;importjava.util.logging.Logger;public classEntry {private static final Logger LOGGER = Logger.getLogger(Entry.class.getName());public static voidmain(String[] args) {
HttpService service= new Retrofit.Builder().baseUrl(HttpService.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build().create(HttpService.class);
String body= "{\"token\": \"This is a token!\"}";
RequestBody requestBody= RequestBody.create(MediaType.parse("application/json"), body);
service.getResultCallback(requestBody).enqueue(new Callback() {
@Overridepublic void onResponse(Call call, Responseresponse) {
ResultCallbackReply reply=response.body();
LOGGER.log(Level.INFO, reply.getMsg());
}
@Overridepublic void onFailure(Callcall, Throwable t) {
LOGGER.log(Level.SEVERE,null, t);
}
});
}
}
build.gradle
dependencies {
...
implementation ‘com.squareup.retrofit2:retrofit:2.5.0‘
implementation ‘com.squareup.retrofit2:converter-gson:2.5.0‘
}
[email protected]("Content-Type: application/json")设置Content-Type为application/json
RequestBody指示了请求体,RequestBody.create(MediaType contentType, String content)创建RequestBody对象
原文:https://www.cnblogs.com/buyishi/p/10606073.html