Java 改装:422错误

Java 改装:422错误,java,android,rest,retrofit,Java,Android,Rest,Retrofit,我是翻新库的新手。每次我试图通过翻新发送POST请求时,我都有422个内部服务器错误。我的代码怎么了 MainActivity.java public void setFruit() { 列表=新的ArrayList(); if(name.getText()!=null) { 水果=新水果(); setName(name.getText().toString()); setColor(color.getText().toString()); 果.setWeight(weight.getText(

我是翻新库的新手。每次我试图通过翻新发送POST请求时,我都有422个内部服务器错误。我的代码怎么了

MainActivity.java

public void setFruit()
{
列表=新的ArrayList();
if(name.getText()!=null)
{
水果=新水果();
setName(name.getText().toString());
setColor(color.getText().toString());
果.setWeight(weight.getText().toString());
水果,味道鲜美;
添加(水果);
showPDialog();
Toast.makeText(MainActivity.this,“点击获取数据”,Toast.LENGTH_SHORT.show();
改装改装=新改装.Builder()
.baseUrl(“http://192.168.1.100:8000/api/v1/")
.addConverterFactory(GsonConverterFactory.create())
.build();
APIService=reformation.create(APIService.class);
Call Call=service.insertFruit(列表);
call.enqueue(新回调(){
@凌驾
公共响应(响应、改装){
printSuccess(“+response.code());
hidePDialog();
}
@凌驾
失效时的公共无效(可丢弃的t){
hidePDialog();
}
});
}
其他的
{
Toast.makeText(这是“填充所有字段”,Toast.LENGTH_SHORT.show();
}
}
APIService.java

公共接口服务{
@获得(“果实”)
调用getFruitDetails();
@邮政(“水果”)
叫插入水果(
@身体
列出水果
);}
Post request在Postman中运行良好

更新:

我找到了解决办法。我尝试使用JsonObject而不是java对象

public void setFruit()
{

    if(name.getText() != null && color.getText() != null && weight.getText() != null)
    {

        JsonObject object = new JsonObject();
        object.addProperty("name",name.getText().toString());
        object.addProperty("color",color.getText().toString());
        object.addProperty("weight",weight.getText().toString());
        object.addProperty("delicious","1");

        Log.wtf("TAG",object.toString());

        showPDialog();
        Toast.makeText(MainActivity.this, "Insert Data Clicked", Toast.LENGTH_SHORT).show();
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(ScalarsConverterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        APIService service = retrofit.create(APIService.class);

        Call<JsonObject> call = service.insertFruit(object);
        call.enqueue(new Callback<JsonObject>() {
            @Override
            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
                printSuccess(""+response.message());
                hidePDialog();
            }

            @Override
            public void onFailure(Call<JsonObject> call, Throwable t) {
                hidePDialog();
            }
        });
    }
    else
    {
        Toast.makeText(this, "Fill all the fields", Toast.LENGTH_SHORT).show();
    }

}
public void setFruit()
{
if(name.getText()!=null&&color.getText()!=null&&weight.getText()!=null)
{
JsonObject对象=新的JsonObject();
object.addProperty(“name”,name.getText().toString());
addProperty(“color”,color.getText().toString());
addProperty(“weight”,weight.getText().toString());
对象。addProperty(“美味”、“1”);
Log.wtf(“TAG”,object.toString());
showPDialog();
Toast.makeText(MainActivity.this,“单击插入数据”,Toast.LENGTH_SHORT.show();
改装改装=新改装.Builder()
.baseUrl(基本URL)
.addConverterFactory(ScalarsConverterFactory.create())
.addConverterFactory(GsonConverterFactory.create())
.build();
APIService=reformation.create(APIService.class);
Call=service.insertFruit(对象);
call.enqueue(新回调(){
@凌驾
公共void onResponse(调用、响应){
printSuccess(“+response.message());
hidePDialog();
}
@凌驾
失败时公共无效(调用调用,可丢弃的t){
hidePDialog();
}
});
}
其他的
{
Toast.makeText(这是“填充所有字段”,Toast.LENGTH_SHORT.show();
}
}

这很有效:)。谢谢大家!

很好,你自己找到了解决方案。不要把答案包含在问题中,你可以把它作为一个自我回答,因为你自己找到了答案。不要把答案包含在问题中,你可以把它作为一个自我回答
public interface APIService {
@GET("fruits")
Call<Fruits> getFruitDetails();

@POST("fruits")
Call<Fruit> insertFruit(
        @Body
        List<Fruit> fruit
);}
public void setFruit()
{

    if(name.getText() != null && color.getText() != null && weight.getText() != null)
    {

        JsonObject object = new JsonObject();
        object.addProperty("name",name.getText().toString());
        object.addProperty("color",color.getText().toString());
        object.addProperty("weight",weight.getText().toString());
        object.addProperty("delicious","1");

        Log.wtf("TAG",object.toString());

        showPDialog();
        Toast.makeText(MainActivity.this, "Insert Data Clicked", Toast.LENGTH_SHORT).show();
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(BASE_URL)
                .addConverterFactory(ScalarsConverterFactory.create())
                .addConverterFactory(GsonConverterFactory.create())
                .build();

        APIService service = retrofit.create(APIService.class);

        Call<JsonObject> call = service.insertFruit(object);
        call.enqueue(new Callback<JsonObject>() {
            @Override
            public void onResponse(Call<JsonObject> call, Response<JsonObject> response) {
                printSuccess(""+response.message());
                hidePDialog();
            }

            @Override
            public void onFailure(Call<JsonObject> call, Throwable t) {
                hidePDialog();
            }
        });
    }
    else
    {
        Toast.makeText(this, "Fill all the fields", Toast.LENGTH_SHORT).show();
    }

}