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

codenameone REST API POST请求正文

陈斌
2023-03-14

我试图从AWS API网关上的REST API调用POST方法。使用curl(用于POST)从命令行正确调用API,使用GET从浏览器正确调用API,因此我知道它工作正常,但我似乎找不到正确的方法使用ConnectionRequest类在codename one上调用POST方法,阅读文档theres addArgument()和setRequestBody(),他们说,它们是独占的,所以我尝试了这两种方法,但我的结果是:

  • setRequestBody():似乎它没有向请求发送任何内容,尝试发送与我在curl上发送的相同的JSON requestBody,API响应,但requestBody“未定义”(在AWS API网关日志中检查),也尝试了请求。addRequestHeader(“测试”、“测试”);同样,标题在AWS日志中是“未定义”的,但在命令行上调用API时会显示

我使用请求。setPost(正确);但也有setHttpMethod(字符串值);所以我不确定我是否做对了。

调用POST REST并发送参数的正确方法是什么?有没有办法调试发送的请求?比如打印对应的卷曲调用之类的?或者有没有办法直接在CN1上执行CURL请求?

共有2个答案

蔚宏大
2023-03-14

在Shai Almong的帮助和一些测试之后,回答我的问题,正确的方法是(我错过了setContentType调用):

setPost(true);
setContentType('application/json');
setRequestBody("parameters in json format");
孟海
2023-03-14

这与多部分上传不同,但我这里有工作AWS上传代码,如果你更新问题(和下面的评论),我可以在Codename One中包含执行确切的curl请求的代码。

至于调用setPost(true)的问题就足够了,因为它会隐式设置post方法。如果您想执行PUT之类的操作,超文本传输协议方法很有用。

选择请求正文与参数取决于您拥有的请求类型。

 类似资料:
  • 问题内容: 我正在编写自己的logginMiddleware。基本上,我需要记录请求和响应的正文。我面临的问题是,当我阅读正文时,它变成空的,无法两次阅读。我知道发生这种情况是因为它属于ReadCloser类型。有没有一种方法可以将身体重绕到开始? 问题答案: 检查和嘲笑请求正文 初次阅读主体时,必须对其进行存储,以便在处理完该主体之后,可以将新的主体设置为根据原始数据构造的请求主体。因此,当您在

  • 我有一个配置了ElasticSearch的JHipster项目,我想使用“请求正文搜索”而不是“URI搜索”。 我只看到REST方法:“http://localhost:8080/api/_search/address/query=*“但我想发送一个主体json。 有办法做到这一点吗? 谢谢你!

  • 问题内容: 我想用XML内容类型编写请求的正文,但是我不知道如何使用HttpClient对象(http://hc.apache.org/httpclient-3.x/apidocs/index.html) 而且我不知道如何继续用我的XML编写正文… 问题答案: 如果您的xml是由您编写的,则只能以这种方式使用 注意例外。 顺便说一句,该示例是由httpclient版本4.x编写的

  • 问题内容: 我想通过PHP 在Blogger博客中添加帖子。Google提供了以下示例。如何在PHP中使用它? 您可以通过向带有帖子JSON正文的帖子集合URI发送POST请求来为博客添加帖子: 问题答案: 您需要使用cURL库发送此请求。 如果由于某种原因您不想/不想使用cURL,可以这样做:

  • 问题内容: 我正在为我们的应用程序开发新的RESTful Web服务。 在某些实体上执行GET时,客户端可以请求实体的内容。如果他们想添加一些参数(例如,对列表进行排序),则可以在查询字符串中添加这些参数。 另外,我希望人们能够在请求正文中指定这些参数。 HTTP / 1.1似乎并未明确禁止这样做。这将使他们能够指定更多信息,可能使指定复杂的XML请求更加容易。 我的问题: 这是个好主意吗? HT

  • 我们正在使用JAX RS为我们的一个项目实现一个REST API。要求是用户将以JSON格式传入请求对象。 让我们假设我们有一个在命中APIendpoint时调用的方法 示例请求对象: { “firstName”:“Test”, “lastName”:“Name”, “sno”:“A123” } 吸气剂和setter 现在,如果用户尝试向上面给出的请求对象添加其他参数(例如:“age”)并调用ap