no-query-in-post
@azure-tools/typespec-azure-resource-manager/no-query-in-postARM POST operations must not declare query parameters other than api-version.
ARM POST operations should pass request-specific input in the request body, not as query parameters. Keeping POST inputs in the payload gives SDKs a stable request shape and keeps ARM APIs consistent with Azure Resource Manager RPC guidelines.
Only the standard api-version query parameter is allowed.
Impact
Section titled “Impact”- Area: API, SDK
Extra query parameters on ARM POST operations violate the ARM POST request contract and can lead to inconsistent generated SDK method signatures.
LintDiff Equivalent
Section titled “LintDiff Equivalent”This rule corresponds to the LintDiff rule ParametersInPost.
❌ Incorrect
Section titled “❌ Incorrect”@armProviderNamespacenamespace Microsoft.Contoso;
model Widget is TrackedResource<{}> { ...ResourceNameParameter<Widget>;}
model ActionRequest { value: string;}
model ActionResponse { result: string;}
model ActionParameters { @query mode?: string;}
@armResourceOperationsinterface Widgets { doAction is ArmResourceActionSync< Widget, ActionRequest, ActionResponse, Foundations.DefaultBaseParameters<Widget>, ActionParameters >;}✅ Correct
Section titled “✅ Correct”@armProviderNamespacenamespace Microsoft.Contoso;
model Widget is TrackedResource<{}> { ...ResourceNameParameter<Widget>;}
model ActionRequest { mode?: string; value: string;}
model ActionResponse { result: string;}
@armResourceOperationsinterface Widgets { doAction is ArmResourceActionSync<Widget, ActionRequest, ActionResponse>;}