Skip to content

no-rpc-path-params

Id
@azure-tools/typespec-azure-core/no-rpc-path-params

Operations defined using RpcOperation should not have path parameters.

Operations defined using RpcOperation or LongRunningRpcOperation should not have path parameters. If path parameters are needed, consider using ResourceAction or ResourceCollectionAction instead.

@path parameter in an RpcOperation:

op testOne is RpcOperation<
{
@path bar: string;
},
{}
>;

@path parameter in a custom operation extending RpcOperation:

op customOp<TFoo extends TypeSpec.Reflection.Model> is RpcOperation<
{
@path bar: string;
},
TFoo
>;
op testTwo is customOp<{}>;

@path parameter in a LongRunningRpcOperation:

@pollingOperation(getStatus)
op lrRpcOp is Azure.Core.LongRunningRpcOperation<
{
@path foo: string;
},
{},
PollingStatus,
StatusError
>;

RpcOperation without path parameters:

op analyze is RpcOperation<
{
@body request: AnalysisRequest;
},
AnalysisResult
>;

Use ResourceAction or ResourceCollectionAction when path parameters are needed:

op analyze is ResourceAction<MyResource, AnalysisRequest, AnalysisResult>;