当前位置: 首页 > 知识库问答 >
问题:

代码名1-对RESTfull服务器的简单请求

宗政颖逸
2023-03-14

我和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);
}

我还需要对服务器返回的随机字符串进行一些操作(如果成功),但我不知道如何获取该字符串。

共有1个答案

贲招
2023-03-14

addArgument使用表单提交中使用的标准HTTP参数而不是JSON参数,因此您得到的(您可以在网络监控工具中看到)是正文中的appName=appName

你可以使用:

request.setRequestBody("{\"appName\": \"Fake app (for testing)\"}");

或者更简单地说:

request.setRequestBody("{'appName': 'Fake app (for testing)'}");

就我个人而言,我一直倾向于新的RestAPI,您可以这样使用它:

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的答案中使用, 但 请