我有一个基于ExpressJS构建的graphQL服务器。 graphQL服务器查询并非全部托管在单个主机上的API。
向各个端点发出HTTP请求调用的函数会收到一个context object
。上下文对象可以访问请求对象(这是从客户端传入的HTTP req对象)。
async makeServiceCall (method, body, paramsArg, context) => {
为了通知makeSeviceCal,我将传入请求的baseUrl属性编辑为承载服务的baseUrl。
req.baseUrl = "api-jboss.service.domain";
在makeServiceCall中检索为
context.req.baseUrl
,用于形成将发出HTTP请求的标准端点。
我的问题是:将传入客户端HTTP请求的baseUrl设置为graphQL解析程序打算调用的服务端点的baseUrl是可以接受的吗?
或者这被认为是不好的做法,对它的进一步扩展是,传入请求对象被认为是不可变的。