【发布时间】:2021-07-07 10:20:00
【问题描述】:
我有一个 REST API,如下所示,它接收代码参数,搜索数据库,如果参数存在则返回结果,并将用户重定向到从数据库获取的 long_url。如何将其转换为 graphQL?
indexRoute.get("/:code", async (req, res) => {
try {
const urlCode = req.params.code
const url = await Model.findUrlCode(urlCode)
if (url) {
return res.redirect(url.long_url)
} else {
return res.status(404).json("No url found.")
}
} catch (err) {
console.log(err)
return res.status(500).json("Server error")
}
})
export default indexRoute
【问题讨论】:
-
我最近从使用 REST 转移到了 GQL。真的很喜欢,现在会选择 GQL 而不是 REST,但学习曲线陡峭,这是一种完全不同的理念,因此将 REST 端点“转换”为 GQL 并没有真正意义。我从这个想法开始,这完全是浪费我的时间
-
查看 GQL 操场 - 真的帮助我了解了它是如何工作的:apollographql.com/docs/apollo-server/testing/graphql-playground
-
帮助您了解 GQL 的结构和语法,并以不同于您可能习惯于 REST 的方式思考
-
graphql 返回 JSON 响应,没有重定向或任何其他基于浏览器的行为......您可以在响应中返回 url,但客户端决定如何处理该信息
标签: javascript node.js redirect graphql rest