【问题标题】:Add graphql wrappers around REST API ?在 REST API 周围添加 graphql 包装器?
【发布时间】:2019-01-27 23:17:42
【问题描述】:

有人可以解释一下如何在 graphql 中包装现有的 REST API, 以及它将如何提高性能?

任何小的工作示例都会有很大帮助。

提前致谢!!!

【问题讨论】:

    标签: rest graphql graphql-js graphql-java express-graphql


    【解决方案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 吗?在这种情况下它将如何提高性能?
    猜你喜欢
    • 2022-10-04
    • 2021-11-23
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 2020-07-04
    相关资源
    最近更新 更多