splice-naming

className: org.archguard.linter.rule.webapi.rules.SpliceNamingRule

description: API 应该采用 - 的方式命名,单个资源的长度通常不超过 20 字符。

no-crud-end

className: org.archguard.linter.rule.webapi.rules.NoCrudEndRule

description: URL 不应该以 CRUD 结尾,错误的方式 /api/book/get,正确的方式: GET /api/book

not-uppercase

className: org.archguard.linter.rule.webapi.rules.NotUppercaseRule

description: URL 中不应该包含大写字符。

start-without-crud

className: org.archguard.linter.rule.webapi.rules.StartWithoutCrudRule

description: URL 不应该以 CRUD 开头。错误示例: /api/getbook, 正确示例: GET /api/book

no-http-method-in-url

className: org.archguard.linter.rule.webapi.rules.NoHttpMethodInUrlRule

description: URL 中不应该包含 CRUD 方法。

min-feature

className: org.archguard.linter.rule.webapi.rules.MinFeatureApiRule

description: API 应该保持单一职责的原则,一个 API 只做一件事。

suggest: > 让每个程序只做好一件事。要完成一项工作,构造全新的比在复杂的旧程序里添加新特性更好。 —— McIlroy, Pinson 和 Tague。

—— 《Google 系统架构解密:构建安全可靠的系统》

multiple-parameters

className: org.archguard.linter.rule.webapi.rules.MultipleParametersRule

description: URL 中的参数不宜超过 3 个,可以放到 body 中。错误示例:/api/book/{bookType}/{bookId}/{bookChildType}/{childId}