#![feature(decl_macro, proc_macro_hygiene)] use rocket::response::content; use rocket::State; use juniper::tests::model::Database; use juniper::tests::schema::Query; use juniper::{EmptyMutation, RootNode}; type Schema = RootNode<'static, Query, EmptyMutation<Database>>; #[rocket::get("/")] fn graphiql() -> content::Html<String> { juniper_rocket::playground_source("/graphql") } #[rocket::get("/graphql?<request>")] fn get_graphql_handler( context: State<Database>, request: juniper_rocket::GraphQLRequest, schema: State<Schema>, ) -> juniper_rocket::GraphQLResponse { request.execute(&schema, &context) } #[rocket::post("/graphql", data = "<request>")] fn post_graphql_handler( context: State<Database>, request: juniper_rocket::GraphQLRequest, schema: State<Schema>, ) -> juniper_rocket::GraphQLResponse { request.execute(&schema, &context) } fn main() { rocket::ignite() .manage(Database::new()) .manage(Schema::new(Query, EmptyMutation::<Database>::new())) .mount( "/", rocket::routes![graphiql, get_graphql_handler, post_graphql_handler], ) .launch(); }
结论:
基于Juniper和Rocket支持的Graphql,性能确实很突出,写一些简单的服务,可以尝试下。
相关推荐
在本文中,我们将深入探讨如何使用Rust编程语言构建一个GraphQL服务器,具体是基于Juniper和Rocket两个库的实现。这两个库在Rust生态系统中分别扮演着GraphQL解析和Web服务框架的角色,使得开发者能够轻松地搭建高效...
它支持从Rust结构体直接映射到GraphQL类型,使得开发过程更为简洁。 在Python开发中,与Rust编写的GraphQL服务交互可能涉及到使用Python的HTTP客户端库(如requests)来发送GraphQL查询,并处理返回的结果。此外,...
支持GraphQL片段,对象,graphql_client Rust的类型化GraphQL客户端库。 具有查询变量和响应的精确类型。 支持GraphQL片段,对象,联合,输入,枚举,自定义标量和输入对象。 在浏览器(WebAssembly)中工作。 订阅...
【rust-hasura:Rust与Hasura GraphQL的整合】 在当今的软件开发中,GraphQL以其高效的数据查询能力,已经成为API设计的重要工具。Hasura是一个基于PostgreSQL的GraphQL引擎,它能够快速地为现有的数据库提供...
async-graphql还支持与其他Rust库的集成,如Actix-web、Tide或Axum等Web框架,让你可以轻松地将GraphQL API嵌入到现有的Web应用中。此外,库还提供了强大的错误处理机制,以及自定义类型转换功能,方便你处理各种...
一个用 Rust 实现的 GraphQL 服务器库Async-graphql是一个高性能的服务器端库,支持所有 GraphQL 规范。功能比较书中文文档文档GitHub 存储库货物包最低支持的 Rust 版本:1.46 或更高版本安全这个 crate 使用#!...
Rust Async-graphql中实现的GraphQL服务器库是支持所有GraphQL规范的高性能服务器端库。 功能比较书中文文档Docs GitHub存储库货运软件包最低支持的Rust版本:1.46或更高版本安全该箱使用#![forbid(unsafe_code)...
这个项目"rust_graphql_api_boilerplate"是一个使用Rust编程语言,结合Warp web框架,Juniper GraphQL库,以及Diesel ORM工具来构建GraphQL API的起点模板。下面我们将详细探讨这些技术栈及其相互作用。 首先,Rust...
总之,graphql-client是Rust开发人员处理GraphQL API的强大工具,它简化了构建、发送和解析GraphQL请求的过程,同时也支持在WebAssembly环境中的使用。通过利用这个库,你可以更高效地构建对GraphQL服务的客户端应用...
【GraphQL Rust演示】项目是一个基于Rust编程语言的示例应用,它展示了如何在Rust环境中集成和使用GraphQL。GraphQL是一种强大的查询语言,用于API,它允许客户端定义他们需要的数据,从而提高了数据获取的效率和...
杜松(Juniper)是基于Rust编程语言的GraphQL服务器库,专为构建高效、安全且类型安全的GraphQL服务而设计。GraphQL是一种由Facebook开发的查询语言,用于API,允许客户端定义他们想要的数据,从而避免了过度或不足...
Async-graphql是一个用Rust编程语言实现的异步GraphQL服务端库。这个库由孙黎(油条哥)发起并维护,旨在为开发者提供一个完全支持异步操作、严格遵循GraphQL规范、类型安全且性能优异的解决方案。此外,Async-...
支持将GraphQL字段设置为弃用,并让Rust编译器检查其使用。 用法 安装CLI工具。 运行gurkle generate --schema-path <your> path/to/operations/*.graphql 这将在当前目录中生成一个mod.rs 自定义标量 生成的代码...
支持将 GraphQL 字段设置为已弃用并让 Rust 编译器检查它们的使用。用于来自浏览器的无样板 API 调用的Web 客户端。入门如果你对 GraphQL 不熟悉,官网提供了非常好的全面的介绍。一旦您编写了查询(很可能在类似...
标签中的"GraphQLRust"表明这个库是Rust社区对GraphQL支持的一部分,意味着开发者可以利用Rust的生态系统和其他库,如`async-graphql`或`juniper`,来构建完整的GraphQL服务器。 在压缩包`graphql-parser-master`中...
支持Rust、Node.js和Python。支持MySQL,PostgreSQL,SQLite和MongoDB。生成的ORM类型定义。生成的前端请求代码。非常效率和高性能。数据净化、转换和验证。内建的用户session。内建的权限检查。先进后出的中间件。...
否Javascript否CSS否HTML否REST否GraphQL否SQL否分析瘫痪否车轮重塑否密码*生锈快速简单可扩展SEO Auth MoonZoon CLI轻松部署离线支持*身份验证方法在Backend.md Web Cure Cure for Web Dev中进行了描述
该库尚不支持。 当前,该库遵循。例子let config = json! ({ "schemaPath" : "./schema.graphql" , "includes" : [ "./graphql/*.graphql" ], "projects" : { "amazingLibrary" : { "schemaPath" : "./...
这意味着您可以拥有一个真实的模式文件,并确保它与您的Rust实现相匹配。 它还删除了与使用瞻博网络有关的大多数样板。寻找瞻博网络0.15支持吗? 在crates.io(0.5.2)上发布的juniper-from-schema版本不支持...
1. **GraphQL服务器**:后端可能采用了如`graphql-rust`或`Juniper`等Rust库来实现GraphQL服务器。这些库允许开发者定义GraphQL类型和解析器,从而创建一个可处理客户端查询的API。 2. **数据库集成**:Cockbot后端...