Page Contents

Home > @loopback/rest-crud > defineCrudRestController

defineCrudRestController() function

Create (define) a CRUD Controller class for the given model.

Signature:

export declare function defineCrudRestController<T extends Entity, IdType, IdName extends keyof T, Relations extends object = {}>(modelCtor: typeof Entity & {
    prototype: T & {
        [key in IdName]: IdType;
    };
}, options: CrudRestControllerOptions): CrudRestControllerCtor<T, IdType, IdName, Relations>;

Parameters

Parameter Type Description
modelCtor typeof Entity & { prototype: T & { \[key in IdName\]: IdType; }; } A model class, e.g. `Product`.
options [CrudRestControllerOptions](/doc/en/lb4/apidocs.rest-crud.crudrestcontrolleroptions.html) Configuration options, e.g. `{basePath: '/products'}`.

Returns:

CrudRestControllerCtor<T, IdType, IdName, Relations>

Example

const ProductController = defineCrudRestController<
Product,
typeof Product.prototype.id,
'id'
>(Product, {basePath: '/products'});

inject('repositories.ProductRepository')(
 ProductController,
  undefined,
  0,
);

app.controller(ProductController);