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

如何用高级REST客户端或邮递员测试Express/Node REST API后端?

司徒英卓
2023-03-14

我需要用高级REST客户机或Postman for Chrome测试接受JSON的REST API后端。

但是我遇到了一些问题:我只能使用内置表单并使用content-type:application/x-www-form-urlencoded发送请求

{title:"Awesome post!", tags: ["blue", "jeans"] }

当我选择Raw Body并在其中插入内容时,后端会看到req.Body是一个空对象。当我还设置标题“content-type:application/json”时,后端会出现以下错误:

SyntaxError: Unexpected token n
at Object.parse (native)
at IncomingMessage.exports.parse.application/json (/Library/WebServer/Documents/slipfeed/node_modules/express/node_modules/connect/lib/middleware/bodyParser.js:135:16)
at IncomingMessage.EventEmitter.emit (events.js:85:17)
at IncomingMessage._emitEnd (http.js:366:10)
at HTTPParser.parserOnMessageComplete [as onMessageComplete] (http.js:149:23)
at Socket.socket.ondata (http.js:1682:22)
at TCP.onread (net.js:404:27)

注意:我在应用html" target="_blank">程序的配置中使用了bodyParser()和methodOverride()。让他们失望无济于事。

我应该使用什么设置,这样我就可以将JSON输入到Raw body字段中,请求就可以工作了?

为了澄清答案:我必须设置content-type:application/json(在请求头中),并使用格式良好的json,其中属性名称也在双引号中,以使其工作。

共有1个答案

厉令
2023-03-14

请尝试将字段属性括在引号中:{“title”:“Awesome Post!”,“tags”:[“blue”,“jeans”]}

 类似资料:
  • 我正在尝试从ElasticSearch 2过渡到5或6。我想我想直接跳到6.1.1并使用RestHighLevelClient,因为它比低级rest客户端更接近我正在使用的现有传输客户端。 但是,我遇到了一个问题作为集成测试的一部分,我正在创建索引并插入特定数据,因此我知道我的查询是正确的。我似乎无法在High Level客户端中做到这一点。特别是,我希望能够调用: 但是,client.indic

  • 我对弹性搜索和Spring都不熟悉。我已经编写了一个Javascript POC,它将JSON字符串转换为Elasticsearch查询(并执行请求)。它需要这样的字符串: (注意:此查询可能有任何嵌套级别) ... 并将其转化为: 它首先为第一次访问Elasticsearch创建一个查询(类似于上述),以提取构建此查询所需的一些信息(“链接”)。每次访问Elasticsearch都可能返回数百万

  • 我正在使用Quarkus中的MicroProfile REST客户端,想知道如何对自定义客户端接口进行单元测试? 示例服务: 是否可以编写包含此功能的单元测试?例如。我想测试请求主体是否得到了正确的处理,是否包含了正确的JSON(特别是因为我遇到了JVM和本机映像模式之间行为不同的问题)。 REST服务器资源可以很容易地用REST保证测试,但是我没有发现REST客户机接口有类似的情况。 有什么建议

  • 我使用Retrofit为我的REST API实现了一个Java客户端。客户端是一个简单的java应用程序,而不是Android应用程序。如何为我的Java客户端编写单元测试?以下是我的服务类之一。

  • 使用Elasticsearch原生Java客户端API()的应用程序升级到使用Java高级REST客户端的路径是什么? 文件(初步?)似乎表明: Java高级REST客户端依赖于Elasticsearch核心项目。它接受与TransportClient相同的请求参数,并返回相同的响应对象。 (来源:https://www.elastic.co/guide/en/elasticsearch/clie

  • Spring Data ES 3.2.0.M1仍然使用旧的而不是 Spring Data ES 3.2.0.M1支持高级REST客户端,请参阅添加对Java高级REST客户端的支持。我添加了Spring Data ES 3.2.0。M1到SB2应用程序: 但是,仍然使用了。有两种迹象表明:启动时的例外情况: 调用ElasticsearchTemplate时出现异常stacktrace 是否有任何配