@loopback/docs
Version:
Documentation files rendered at [https://loopback.io](https://loopback.io)
141 lines (67 loc) • 2.04 kB
Markdown
---
lang: en
title: 'API docs: rest.controllerroute._constructor_'
keywords: LoopBack 4.0, LoopBack 4, Node.js, TypeScript, OpenAPI
sidebar: lb4_sidebar
editurl: https://github.com/loopbackio/loopback-next/tree/master/packages/rest
permalink: /doc/en/lb4/apidocs.rest.controllerroute._constructor_.html
---
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) > [@loopback/rest](./rest.md) > [ControllerRoute](./rest.controllerroute.md) > [(constructor)](./rest.controllerroute._constructor_.md)
## ControllerRoute.(constructor)
Construct a controller based route
**Signature:**
```typescript
constructor(verb: string, path: string, spec: OperationObject, controllerCtor: ControllerClass<T>, controllerFactory?: ControllerFactory<T>, methodName?: string);
```
## Parameters
<table><thead><tr><th>
Parameter
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td markdown="1">
verb
</td><td markdown="1">
string
</td><td markdown="1">
http verb
</td></tr>
<tr><td markdown="1">
path
</td><td markdown="1">
string
</td><td markdown="1">
http request path
</td></tr>
<tr><td markdown="1">
spec
</td><td markdown="1">
OperationObject
</td><td markdown="1">
OpenAPI operation spec
</td></tr>
<tr><td markdown="1">
controllerCtor
</td><td markdown="1">
[ControllerClass](./rest.controllerclass.md)<!-- --><T>
</td><td markdown="1">
Controller class
</td></tr>
<tr><td markdown="1">
controllerFactory
</td><td markdown="1">
[ControllerFactory](./rest.controllerfactory.md)<!-- --><T>
</td><td markdown="1">
_(Optional)_ A factory function to create a controller instance
</td></tr>
<tr><td markdown="1">
methodName
</td><td markdown="1">
string
</td><td markdown="1">
_(Optional)_ Controller method name, default to `x-operation-name`
</td></tr>
</tbody></table>