我和Postman一起测试,如果我向http://localhost:8080/app
标题为Content Type=application/json
,正文为{“appName”:“Fake app(用于测试)”}
。此调用的响应是一个简单的随机字符串,状态为“200 OK”。我试图用Codename One复制相同的请求,但没有成功,我得到了一个对话框错误,文本为400:null
。下面的代码有什么问题?
public static void registerApp() {
ConnectionRequest request = new ConnectionRequest();
request.setContentType("application/json");
request.setUrl("http://localhost:8080/app");
request.setHttpMethod("PUT");
String appName = Display.getInstance().getProperty("AppName", "");
request.addArgument("appName", appName);
request.addResponseListener((e) -> {
Log.p("App registered");
});
// request will be handled asynchronously
NetworkManager.getInstance().addToQueue(request);
}
我还需要对服务器返回的随机字符串进行一些操作(如果成功),但我不知道如何获取该字符串。
addArgument
使用表单提交中使用的标准HTTP参数而不是JSON参数,因此您得到的(您可以在网络监控工具中看到)是正文中的appName=appName
。
你可以使用:
request.setRequestBody("{\"appName\": \"Fake app (for testing)\"}");
或者更简单地说:
request.setRequestBody("{'appName': 'Fake app (for testing)'}");
就我个人而言,我一直倾向于新的Rest
API,您可以这样使用它:
Response<String> result =
Rest.put(url).
jsonContent().
body("{'appName': 'Fake app (for testing)'}").getAsString();
看见https://www.codenameone.com/blog/terse-rest-api.html
问题内容: 我写了非常简单的服务器: 我使用nodejs运行它。 现在我想编写一个简单的客户端,该客户端使用ajax调用将请求发送到服务器并打印响应(Hello World) clinet的javascript: 当我打开客户端html文件时,在控制台中出现以下错误: 我尝试将以下内容添加到ajax调用中: 但后来我明白了 任何人都可以解释我做错了什么,也许如何解决? 非常感谢! 问题答案: 第一
我有一个基本的Codename One订阅,从我的角度来看,我的代码编译得很好,模拟器也工作得很好,但是Codename One Server正在获得构建错误,我尝试了几次但仍然不工作,有构建错误日志,但在这里发布太长了,我该怎么办?
正在尝试制作一个android应用程序,该应用程序将与使用noSQL server(应用程序)的本地主机服务器(tomcat apache)通信- 这是我正在使用的界面: 这是我在应用程序中单击按钮时使用的代码: 所以,当我点击按钮时,什么也没发生。(它曾经被压碎,但它停止了)我确信按钮的功能正在被调用。
本文向大家介绍C++简单QQ程序服务器端的实现代码,包括了C++简单QQ程序服务器端的实现代码的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C++简单QQ程序服务器端的实现代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家的学习有所帮助。
本文向大家介绍Python实现简单的代理服务器,包括了Python实现简单的代理服务器的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现简单的代理服务器。分享给大家供大家参考。具体如下: 具备简单的管理功能,运行后 telnet localhost 9000 端口可以进行管理主要功能就是做包转发,如果有一个桥服务器,可以用来外网访问内网用,还是很管用的 希望本文所述对大家的P
问题内容: 我有以下angularjs服务: 如何从旧版js代码中调用函数? 问题答案: 使用angular.injector。使用您的代码,您可以执行以下操作: 这是jsfiddle:http : //jsfiddle.net/wGeNG/ 注意 -加载自定义模块之前,您需要添加“ ng”作为第一个模块,因为示例代码取决于ng模块中的$ http提供程序。 编辑 - 在OP的答案中使用, 但 请