当我向Rest API调用GET请求时,我正在考虑自动化SearchCriteria。对于像/bags
这样的单页,我可以在SearchCriteria中进行过滤,只返回来自所有20000个对象的行李。我只需要使用promise调用节点函数,它看起来像这样:
let options = { method: 'GET',
url: 'domain/v1/rest/endpoint',
qs: { 'searchCriteria[filter]' : 'value' },
headers:
{
authorization: 'Bearer token',
'content-type': 'application/json' } };
并在构造函数中获取options
的promise函数,并将整个api作为对象返回。然后我设置它做graphql解析器查询(但这在这里并不重要)。这对于我使用来自api的信息进行渲染的单页很有用
但是如果我想在searchCriteria中使用不同的过滤器实际渲染另一个页面上的内容(例如/靴子)呢?
当然我可以再做一个let options2={...}
然后在SearchCriteria中设置过滤器,然后在构造函数中使用options2设置另一个promise函数,并在另一个解析器查询中设置它。
这可能有用,但无论如何都不是这样做的好方法,更多的页面会有更多的功能,看起来有点乱。
所以现在我想在SearchCriteria中做一些像switch函数这样的事情。一个节点功能,可以在不同页面上切换过滤器,一个承诺函数和一个解析器查询(它的graphql,架构对于所有页面都相同)。
这是好方法还是坏方法呢?也许有人有更好的主意。任何建议表示赞赏:)