point-operation-invalid-query-parameter
@azure-tools/typespec-azure-resource-manager/point-operation-invalid-query-parameterPoint operations must not declare query parameters beyond api-version.
title: “point-operation-invalid-query-parameter”
Section titled “title: “point-operation-invalid-query-parameter””@azure-tools/typespec-azure-resource-manager/point-operation-invalid-query-parameterARM point operations using GET, PUT, PATCH, or DELETE must not define query parameters other than api-version.
Impact
Section titled “Impact”- Area: API, SDK
Additional query parameters on point operations make the resource contract inconsistent with ARM RPC guidance and can complicate generated SDK method signatures.
LintDiff Equivalent
Section titled “LintDiff Equivalent”This rule corresponds to the Swagger linter rule ValidQueryParametersForPointOperations.
❌ Incorrect
Section titled “❌ Incorrect”@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Contoso/widgets/{widgetName}")interface Widgets { @get get( @path subscriptionId: string, @path resourceGroupName: string, @path widgetName: string, @query("api-version") apiVersion: string, @query expand?: string, ): Widget;}✅ Correct
Section titled “✅ Correct”@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Contoso/widgets/{widgetName}")interface Widgets { @get get( @path subscriptionId: string, @path resourceGroupName: string, @path widgetName: string, @query("api-version") apiVersion: string, ): Widget;}Query parameters remain valid on collection operations because they are outside this rule’s scope:
@route("/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Contoso/widgets")interface Widgets { @get list( @path subscriptionId: string, @path resourceGroupName: string, @query("api-version") apiVersion: string, @query top?: int32, ): WidgetListResult;}Suppression
Section titled “Suppression”Do not suppress this rule unless the operation is intentionally exempt from ARM RPC guidance. Remove the additional query parameter or model the API as a collection or action operation when that better reflects its semantics.