Я пытаюсь сделать POST-запрос с помощью инструмента под названием retrofit, который превращает REST API в класс Java. Я использую код, который нашел на inte rnet.
Я могу отправить запрос на локальный сервер, но получаю сообщение об ошибке. Я предполагаю, что это потому, что сервер выполняет только базовые c вещи, в то время как мой java код ожидает Post? Я не уверен. Может ли кто-нибудь помочь мне понять, что происходит? Я ценю любую помощь!
onCreate () в MainActivity. java выглядит так:
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://MyIPAdress:Port/")
.addConverterFactory(GsonConverterFactory.create())
.build();
jsonPlaceHolderApi = retrofit.create(JsonPlaceHolderApi.class);
createPost();
private void createPost() {
Post post = new Post(23, "New Title", "New Text");
Call<Post> call = jsonPlaceHolderApi.createPost(post);
call.enqueue(new Callback<Post>() {
@Override
public void onResponse(Call<Post> call, Response<Post> response) {
if (!response.isSuccessful()) {
textViewResult.setText("Code: " + response.code());
return;
}
Post postResponse = response.body();
String content = "";
content += "Code: " + response.code() + "\n";
content += "ID: " + postResponse.getId() + "\n";
content += "User ID: " + postResponse.getUserId() + "\n";
content += "Title: " + postResponse.getTitle() + "\n";
content += "Text: " + postResponse.getText() + "\n\n";
textViewResult.setText(content);
}
@Override
public void onFailure(Call<Post> call, Throwable t) {
}
});
}
interface JsonPlaceHolderApi {
@POST(".")
Call<Post> createPost(@Body Post post); }
Это код сервера, который я использую https://www.codexpedia.com/python/python-web-server-for-get-and-post-requests/
Это ошибка, которую я получаю после отправки запроса POST.
Ошибка