github.com/googleapis/api-linter@v1.65.2/docs/rules/0132/http-uri-parent.md (about) 1 --- 2 rule: 3 aip: 132 4 name: [core, '0132', http-uri-parent] 5 summary: List methods must map the parent field to the URI. 6 permalink: /132/http-uri-parent 7 redirect_from: 8 - /0132/http-uri-parent 9 --- 10 11 # List methods: HTTP URI parent field 12 13 This rule enforces that all `List` RPCs map the `parent` field to the HTTP 14 URI, as mandated in [AIP-132][]. 15 16 ## Details 17 18 This rule looks at any message beginning with `List`, and complains 19 if the `parent` variable is not included in the URI. It _does_ check additional 20 bindings if they are present. 21 22 ## Examples 23 24 **Incorrect** code for this rule: 25 26 ```proto 27 // Incorrect. 28 rpc ListBooks(ListBooksRequest) returns (ListBooksResponse) { 29 option (google.api.http) = { 30 get: "/v1/publishers/*/books" // The `parent` field should be extracted. 31 }; 32 } 33 ``` 34 35 **Correct** code for this rule: 36 37 ```proto 38 // Correct. 39 rpc ListBooks(ListBooksRequest) returns (ListBooksResponse) { 40 option (google.api.http) = { 41 get: "/v1/{parent=publishers/*}/books" 42 }; 43 } 44 ``` 45 46 ## Disabling 47 48 If you need to violate this rule, use a leading comment above the method. 49 Remember to also include an [aip.dev/not-precedent][] comment explaining why. 50 51 ```proto 52 // (-- api-linter: core::0132::http-uri-parent=disabled 53 // aip.dev/not-precedent: We need to do this because reasons. --) 54 rpc ListBooks(ListBooksRequest) returns (ListBooksResponse) { 55 option (google.api.http) = { 56 get: "/v1/publishers/*/books" 57 }; 58 } 59 ``` 60 61 If you need to violate this rule for an entire file, place the comment at the 62 top of the file. 63 64 [aip-132]: https://aip.dev/132 65 [aip.dev/not-precedent]: https://aip.dev/not-precedent