gpt4 book ai didi

java - 错误: Unsupported Media Type (Codename One)

转载 作者:行者123 更新时间:2023-12-01 10:34:01 26 4
gpt4 key购买 nike

我尝试从 NetBeans IDE 上的 CN1 应用程序发送 POST 请求,但每次运行应用程序时都会收到此错误“错误 415:不支持的媒体类型”。这是我的代码:

请求代码:

@Override
protected void onMain_ButtonAction(Component c, ActionEvent event) {
String name=findTextField(c).getText();
String qty=findTextField1(c).getText();

ConnectionRequest r= new ConnectionRequest(){
@Override
protected void readResponse(InputStream input) throws IOException {
}
};
r.setUrl("http://localhost:8080/webservicess/webresources/getreq/post");
r.setPost(true);
r.setHttpMethod("POST");
r.addArgument("name", name);
r.addArgument("quantity", qty);
NetworkManager.getInstance().addToQueueAndWait(r);
}

}

休息服务

@POST
@Path("post")
@Consumes("application/json")
public void putJson(Product product) {

String result = "Product recieved : " + product;
System.out.println(""+result);
}
}

Product.java类

class Product {
public String name;
public int quantity;

Product(){

}

}

请查看附图中的错误消息截图。我想要一种情况,当我单击“提交”按钮时,为产品名称和数量输入的值应显示在 REST 控制台上。请来拯救我。

simulator screenshot

最诚挚的问候,

叶海亚-伊玛目穆尼尔·科拉波

最佳答案

基于POST JSON fails with 415 Unsupported media type, Spring 3 mvc

您需要设置接受请求 header ,您可以在 Codename One 中执行此操作通过addRequestHeader :

r.addRequestHeader("accept", "application/json");

您遇到的另一个问题有点误导,但我猜测 Web 服务在正文中接受 JSON,而不是标准的 post 参数,因此这应该可以工作:

final String name = findTextField(c).getText();
final String qty = findTextField1(c).getText();

ConnectionRequest r= new ConnectionRequest(){
@Override
protected void buildRequestBody(OutputStream os) throws IOException {
StringBuilder val = new StringBuilder("{\"name\":\"");
val.append(name);
val.append("\",\"quantity\":");
val.append(qty);
val.append("}");
if(shouldWriteUTFAsGetBytes()) {
os.write(val.toString().getBytes("UTF-8"));
} else {
OutputStreamWriter w = new OutputStreamWriter(os, "UTF-8");
w.write(val.toString());
}
}
@Override
protected void readResponse(InputStream input) throws IOException {
}
};
r.setUrl("http://localhost:8080/webservicess/webresources/getreq/post");
r.setPost(true);
NetworkManager.getInstance().addToQueueAndWait(r);

关于java - 错误: Unsupported Media Type (Codename One),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34913004/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com