AEP-0144 Linter Rules
Add/Remove methods- HTTP body
Add/Remove methods: HTTP body
Section titled “Add/Remove methods: HTTP body”This rule enforces that all Add and Remove RPCs use * as the HTTP body, as
mandated in AEP-144.
Details
Section titled “Details”This rule looks at any RPC methods beginning with Add or Remove, and
complains if the HTTP body field is anything other than *.
Examples
Section titled “Examples”Incorrect code for this rule:
// Incorrect.rpc AddAuthor(AddAuthorRequest) returns (AddAuthorResponse) { option (google.api.http) = { post: "/v1/{book=publishers/*/books/*}:addAuthor" body: "" // The http body should be "*". };}Correct code for this rule:
// Correct.rpc AddAuthor(AddAuthorRequest) returns (AddAuthorResponse) { option (google.api.http) = { post: "/v1/{book=publishers/*/books/*}:addAuthor" body: "*" };}Disabling
Section titled “Disabling”If you need to violate this rule, use a leading comment above the method. Remember to also include an aep.dev/not-precedent comment explaining why.
// (-- api-linter: core::0144::http-body=disabled// aep.dev/not-precedent: We need to do this because reasons. --)rpc AddAuthor(AddAuthorRequest) returns (AddAuthorResponse) { option (google.api.http) = { post: "/v1/{book=publishers/*/books/*}:addAuthor" body: "" };}If you need to violate this rule for an entire file, place the comment at the top of the file.
Add/Remove methods- POST HTTP verb
Add/Remove methods: POST HTTP verb
Section titled “Add/Remove methods: POST HTTP verb”This rule enforces that all Add and Remove RPCs use the POST HTTP verb, as
mandated in AEP-144.
Details
Section titled “Details”This rule looks at any RPCs with the name beginning with Add or Remove, and
complains if the HTTP verb is anything other than POST.
Examples
Section titled “Examples”Incorrect code for this rule:
// Incorrect.rpc AddAuthor(AddAuthorRequest) returns (AddAuthorResponse) { option (google.api.http) = { patch: "/v1/{book=publishers/*/books/*}:addAuthor" // Should be `post:`. body: "*" };}Correct code for this rule:
// Correct.rpc AddAuthor(AddAuthorRequest) returns (AddAuthorResponse) { option (google.api.http) = { post: "/v1/{book=publishers/*/books/*}:addAuthor" body: "*" };}Disabling
Section titled “Disabling”If you need to violate this rule, use a leading comment above the method. Remember to also include an aep.dev/not-precedent comment explaining why.
// (-- api-linter: core::0144::http-method=disabled// aep.dev/not-precedent: We need to do this because reasons. --)rpc AddAuthor(AddAuthorRequest) returns (AddAuthorResponse) { option (google.api.http) = { patch: "/v1/{book=publishers/*/books/*}:addAuthor" // Should be `post:`. body: "*" };}If you need to violate this rule for an entire file, place the comment at the top of the file.