TypeSpec REST protocol binding
npm install @typespec/rest@action@actionSeparator@autoRoute@collectionAction@copyResourceKeyParameters@createsOrReplacesResource@createsOrUpdatesResource@createsResource@deletesResource@listsResource@parentResource@readsResource@resource@segment@segmentOf@updatesResource
Specify this operation is an action. (Scoped to a resource item /pets/{petId}/my-action)
@TypeSpec.Rest.action(name?: valueof string)Operation
| Name | Type | Description |
|---|---|---|
| name | valueof string |
Name of the action. If not specified, the name of the operation will be used. |
Defines the separator string that is inserted before the action name in auto-generated routes for actions.
When applied to a namespace, the separator applies to all action operations in that namespace and its sub-namespaces. When applied to an interface, the separator applies to all action operations in that interface and overrides any namespace-level separator. When applied to an operation, the separator applies only to that operation and overrides any interface or namespace-level separator.
@TypeSpec.Rest.actionSeparator(seperator: valueof "/" | ":" | "/:")Operation | Interface | Namespace
| Name | Type | Description |
|---|---|---|
| seperator | valueof "/" | ":" | "/:" |
Seperator seperating the action segment from the rest of the url |
This interface or operation should resolve its route automatically. To be used with resource types where the route segments area defined on the models.
@TypeSpec.Rest.autoRouteInterface | Operation
None
@autoRoute
interface Pets {
get(@segment("pets") @path id: string): void; //-> route: /pets/{id}
}Specify this operation is a collection action. (Scopped to a resource, /pets/my-action)
@TypeSpec.Rest.collectionAction(resourceType: Model, name?: valueof string)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
| name | valueof string |
Name of the action. If not specified, the name of the operation will be used. |
Copy the resource key parameters on the model
@TypeSpec.Rest.copyResourceKeyParameters(filter?: valueof string)Model
| Name | Type | Description |
|---|---|---|
| filter | valueof string |
Filter to exclude certain properties. |
Specify that this is a CreateOrReplace operation for a given resource.
@TypeSpec.Rest.createsOrReplacesResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
Specify that this is a CreatesOrUpdate operation for a given resource.
@TypeSpec.Rest.createsOrUpdatesResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
Specify that this is a Create operation for a given resource.
@TypeSpec.Rest.createsResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
Specify that this is a Delete operation for a given resource.
@TypeSpec.Rest.deletesResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
Specify that this is a List operation for a given resource.
@TypeSpec.Rest.listsResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
Mark model as a child of the given parent resource.
@TypeSpec.Rest.parentResource(parent: Model)Model
| Name | Type | Description |
|---|---|---|
| parent | Model |
Parent model. |
Specify that this is a Read operation for a given resource.
@TypeSpec.Rest.readsResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |
Mark this model as a resource type with a name.
@TypeSpec.Rest.resource(collectionName: valueof string)Model
| Name | Type | Description |
|---|---|---|
| collectionName | valueof string |
type's collection name |
Defines the preceding path segment for a
@TypeSpec.Rest.segment(name: valueof string)Model | ModelProperty | Operation
| Name | Type | Description |
|---|---|---|
| name | valueof string |
Segment that will be inserted into the operation route before the path parameter's name field. |
Returns the URL segment of a given model if it has @segment and @key decorator.
@TypeSpec.Rest.segmentOf(type: Model)Operation
| Name | Type | Description |
|---|---|---|
| type | Model |
Target model |
Specify that this is a Update operation for a given resource.
@TypeSpec.Rest.updatesResource(resourceType: Model)Operation
| Name | Type | Description |
|---|---|---|
| resourceType | Model |
Resource marked with |