gpt4 book ai didi

javascript - 获取帖子请求的正文 vert.x javascript verticle

转载 作者:行者123 更新时间:2023-12-03 03:05:33 25 4
gpt4 key购买 nike

下面粘贴的是我的 javascript verticle 的代码,已成功部署。由于找不到调试js verticle的方法,所以我打印了routingContext的所有属性以供引用。我正在尝试获取请求的正文,但是所有以 getBody 开头的函数都返回 null。我已将我发出的请求粘贴到代码下方,并在 intellij 终端中打印日志。我做错了什么吗?

JS Verticle代码

var Router = require("vertx-web-js/router");
var server = vertx.createHttpServer();
var router = Router.router(vertx);
function writeHelp(obj) {
var txt = "";
for (var x in obj){
txt += x + "->" + obj[x] + "\n";
}
return txt;
}
router.post("/provider").handler(function (routingContext) {
var response = routingContext.response();
var json = routingContext.getBodyAsString();
response.putHeader("content-type", "text/plain");
//console.log("Helper\n" + writeHelp(routingContext));
//console.log("Request=" + writeHelp(routingContext.request()));
console.log("body=" + json);
response.end("Success");
});
server.requestHandler(router.accept).listen(8890);

通过 ARC 发出 POST 请求

enter image description here

来自 Intellij 的日志

Router: 257219241 accepting request POST http://localhost:8890/provider 
Route matches: Route[ path:/provider pattern:null handler:io.vertx.core.Handler$$NashornJavaAdapter@69b539e failureHandler:null order:0 methods:[POST]]@32182409
Calling the handler
body=null

最佳答案

您必须添加 BodyHandler获取解析的正文:

来自官方文档:

var BodyHandler = require("vertx-web-js/body_handler");

// This body handler will be called for all routes
router.route().handler(BodyHandler.create().handle);

关于javascript - 获取帖子请求的正文 vert.x javascript verticle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47184959/

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