有人可以解释一下如何在graphql中包装现有的REST API, 以及它将如何改善性能?
任何小的工作示例都会有很大帮助。
先谢谢了!
答案 0 :(得分: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。