<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Lacinia on PlumePHP</title><link>https://plumephp.com/tags/lacinia/</link><description>Recent content in Lacinia on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Tue, 29 Sep 2026 14:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/lacinia/index.xml" rel="self" type="application/rss+xml"/><item><title>Clojure GraphQL API 实战：lacinia、Schema、Resolver 与权限</title><link>https://plumephp.com/clojure-graphql-api/</link><pubDate>Tue, 29 Sep 2026 14:00:00 +0800</pubDate><guid>https://plumephp.com/clojure-graphql-api/</guid><description>&lt;p&gt;GraphQL 的核心价值不是「替代 REST」，而是&lt;strong&gt;让客户端精确指定它要的数据&lt;/strong&gt;——不多不少、一次请求拿完、类型即文档。Clojure 生态的主力实现是 &lt;strong&gt;lacinia&lt;/strong&gt;：Schema 用数据描述（EDN）、resolver 是普通函数、权限靠 context 注入。本文从 GraphQL 心智讲到性能陷阱，覆盖 lacinia Schema、resolver 与 N+1 批处理、变更与事务、订阅、权限、与 REST 共存、深度/复杂度控制。目标：你能用 Clojure 交付一个「规范 + 可控 + 快」的 GraphQL API。&lt;/p&gt;</description></item></channel></rss>