首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Moleculer中获取正文POST请求

在Moleculer中获取正文POST请求
EN

Stack Overflow用户
提问于 2018-03-09 16:17:36
回答 2查看 1.9K关注 0票数 1

我在ReactJs中使用Fetch向api Moleculer发送请求,如下所示:

代码语言:javascript
复制
 var data ={
            'ordername' : 'PUG',
            'receivername' : 'AnSama'
        }
        fetch(url,{
            method: 'POST',
            header: {              
                'Accept': 'application/json',
                'Content-Type': 'application/json',
              },
              body : data
        })
            .then(res => {return res.json()})
                .then(
                    (result) => {
                        alert(JSON.stringify(result));
                    },
                    (error) => {
                        alert('error');
                    }
                )

然后,我想在Moleculer (NodeJS框架)中获得请求体。我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-10 03:52:03

Moleculer API Gateway中,JSON主体总是被解析的,并且可以通过ctx.params访问。如果要向服务发送标头值,请使用路由器设置中的onBeforeHook

代码语言:javascript
复制
broker.createService({
    mixins: [ApiService],
    settings: {
        routes: [
            {
                path: "/",
                onBeforeCall(ctx, route, req, res) {
                    // Set request headers to context meta
                    ctx.meta.userAgent = req.headers["user-agent"];
                }
            }
        ]
    }
});
票数 2
EN

Stack Overflow用户

发布于 2018-07-06 13:08:11

除了@Icebob回答之外,如果您的POST API处理异步请求(很可能会)&返回一个承诺。下面是一个例子(这就是我们的用法):

代码语言:javascript
复制
actions : {
    postAPI(ctx) {
        return new this.Promise((resolve, reject) => {
            svc.postdata(ctx, (err, res) => {
                if (err) {
                    reject(err);
                } else {
                    resolve(res);
                }
            });
        })
            .then((res) => {
                return res;
            }, (err) => {
                return err;
            });
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49189345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档