github.com/googleapis/api-linter@v1.65.2/docs/rules/0162/commit-http-method.md (about) 1 --- 2 rule: 3 aip: 162 4 name: [core, '0162', commit-http-method] 5 summary: Commit methods must use the POST HTTP verb. 6 permalink: /162/commit-http-method 7 redirect_from: 8 - /0162/commit-http-method 9 --- 10 11 # Commit methods: POST HTTP verb 12 13 This rule enforces that all `Commit` RPCs use the `POST` HTTP verb, as 14 mandated in [AIP-162][]. 15 16 ## Details 17 18 This rule looks at any method beginning with `Commit`, and complains 19 if the HTTP verb is anything other than `POST`. 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 CommitBook(CommitBookRequest) returns (Book) { 29 option (google.api.http) = { 30 get: "/v1/{name=publishers/*/books/*}:commit" // Should be `post:`. 31 }; 32 } 33 ``` 34 35 **Correct** code for this rule: 36 37 ```proto 38 // Correct. 39 rpc CommitBook(CommitBookRequest) returns (Book) { 40 option (google.api.http) = { 41 post: "/v1/{name=publishers/*/books/*}:commit" 42 body: "*" 43 }; 44 } 45 ``` 46 47 ## Disabling 48 49 If you need to violate this rule, use a leading comment above the method. 50 Remember to also include an [aip.dev/not-precedent][] comment explaining why. 51 52 ```proto 53 // (-- api-linter: core::0162::commit-http-method=disabled 54 // aip.dev/not-precedent: We need to do this because reasons. --) 55 rpc CommitBook(CommitBookRequest) returns (Book) { 56 option (google.api.http) = { 57 get: "/v1/{name=publishers/*/books/*}:commit" 58 }; 59 } 60 ``` 61 62 If you need to violate this rule for an entire file, place the comment at the 63 top of the file. 64 65 [aip-162]: https://aip.dev/162 66 [aip.dev/not-precedent]: https://aip.dev/not-precedent