在 REST API 周围添加 graphql 包装器?
Posted
技术标签:
【中文标题】在 REST API 周围添加 graphql 包装器?【英文标题】:Add graphql wrappers around REST API ? 【发布时间】:2019-01-27 23:17:42 【问题描述】:有人可以解释一下如何在 graphql 中包装现有的 REST API, 以及它将如何提高性能?
任何小的工作示例都会有很大帮助。
提前致谢!!!
【问题讨论】:
【参考方案1】:在 GraphQL 架构中定义查询/突变。
type Query
getBook(id: String): Book
在查询解析器类中使用任何方法来消费休息服务。
public class Query implements GraphQLQueryResolver
public Book getBook(String bookId)
RestTemplate restTemplate = new RestTemplate();
Map<String, String> map = new HashMap<>();
map.put("bookId", bookId);
ResponseEntity <Book> response = restTemplate.getForEntity("http://localhost:8080/bookDetails/getBook/bookId",Book.class, map);
Book book = response.getBody();
return book;
同样,您也可以通过实现 GraphQLMutationResolver 来定义 Mutation。
【讨论】:
这里我们还会调用 REST API 吗?在这种情况下它将如何提高性能?以上是关于在 REST API 周围添加 graphql 包装器?的主要内容,如果未能解决你的问题,请参考以下文章
从 .NET Core 应用程序同时提供 REST 和 GraphQL API
sofa graphql 2 rest api webhook 试用