将 REST API 获取请求转换为 GraphQL
Posted
技术标签:
【中文标题】将 REST API 获取请求转换为 GraphQL【英文标题】:Converting a REST API get request to GraphQL 【发布时间】: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,但客户端决定如何处理该信息 【参考方案1】:一个很好的例子资源,
https://blog.bitsrc.io/migrating-existing-rest-apis-to-graphql-2c5de3db
【讨论】:
以上是关于将 REST API 获取请求转换为 GraphQL的主要内容,如果未能解决你的问题,请参考以下文章
如何将JSON响应转换为Java List-使用Rest Assured进行API测试
Python 中的 Rest API - 获取身份验证令牌,然后将其设置为用于 POST 的变量
如何在Spring Boot Rest API中的BeanUtils.copyProperties中将String转换为枚举