{"id":48689,"library":"nestjs-rest","title":"NestJS REST JSON:API Controller","description":"Provides a base controller class for building RESTful APIs following the JSON:API specification within the NestJS framework. Current stable version is 1.0.0, released with a cadence of major versions matching NestJS updates. It requires @nestjs/common >=11.0.0 and std-json-api. The package is designed to be used with extension packages like nestjs-rest-mongodb for database integration. Key differentiators: adheres strictly to JSON:API spec, integrates seamlessly with NestJS decorators and providers, and supports dependency injection for configuration via JsonApiControllersOptions token.","status":"active","version":"1.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/ziv/nestjs-rest","tags":["javascript","nestjs","rest","crud","resource","controller","api","jsonapi","typescript"],"install":[{"cmd":"npm install nestjs-rest","lang":"bash","label":"npm"},{"cmd":"yarn add nestjs-rest","lang":"bash","label":"yarn"},{"cmd":"pnpm add nestjs-rest","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency required for NestJS decorators and base classes","package":"@nestjs/common","optional":false},{"reason":"Peer dependency providing JSON:API serialization/deserialization utilities","package":"std-json-api","optional":false}],"imports":[{"note":"Named export, not default. ESM-only.","wrong":"import JsonApiController from 'nestjs-rest'","symbol":"JsonApiController","correct":"import { JsonApiController } from 'nestjs-rest'"},{"note":"Class used for dependency injection token.","wrong":"import { JsonApiControllersOptions } from 'nestjs-rest'","symbol":"JsonApiControllersOptions","correct":"import { JsonApiControllersOptions } from 'nestjs-rest'"},{"note":"ESM-only, CJS require is not supported.","wrong":"const { NESTJS_REST_MODULE_ID } = require('nestjs-rest')","symbol":"NESTJS_REST_MODULE_ID","correct":"import { NESTJS_REST_MODULE_ID } from 'nestjs-rest'"}],"quickstart":{"code":"import { Controller } from '@nestjs/common';\nimport { JsonApiController } from 'nestjs-rest';\n\n@Controller('api')\nexport class MyController extends JsonApiController {\n  // Add your own methods or override base ones\n}\n","lang":"typescript","description":"Shows how to create a basic JSON:API controller by extending JsonApiController and applying the @Controller decorator."},"warnings":[{"fix":"Ensure your environment meets the engine requirements.","message":"The package requires Node >=20.0.0 and npm >=10.0.0.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Install an extension package alongside nestjs-rest.","message":"Must be used with an extension package (e.g., nestjs-rest-mongodb) for actual database integration.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Update @nestjs/common to at least version 11.","message":"Requires @nestjs/common version >=11.0.0.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Use the provider pattern shown in the documentation.","message":"JsonApiControllersOptions must be provided via a custom provider factory, not directly instantiated.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.0.0':28 '11.0.0':42 'adher':68 'api':4,14,18,47,72,96 'base':8 'build':12 'cadenc':32 'class':10 'configur':86 'control':5,9,95 'crud':93 'current':24 'databas':64 'decor':78 'depend':83 'design':51 'differenti':67 'extens':56 'follow':15 'framework':23 'inject':84 'integr':65,74 'javascript':90 'json':3,17,46,71 'jsonapi':97 'jsonapicontrollersopt':88 'key':66 'like':58 'major':34 'match':36 'mongodb':62 'nestj':1,22,37,60,77,91 'nestjs-rest-mongodb':59 'nestjs/common':41 'packag':49,57 'provid':6,80 'releas':29 'requir':40 'resourc':94 'rest':2,13,61,92 'seamless':75 'spec':73 'specif':19 'stabl':25 'std':45 'std-json-api':44 'strict':69 'support':82 'token':89 'typescript':98 'updat':38 'use':54 'version':26,35 'via':87 'within':20","created_at":"2026-06-07T16:57:55.971155+00:00","updated_at":"2026-06-07T16:57:55.971155+00:00","problems":[{"fix":"Run npm install std-json-api","cause":"Missing peer dependency std-json-api.","error":"Cannot find module 'std-json-api'"},{"fix":"Use named import: import { JsonApiController } from 'nestjs-rest'","cause":"JsonApiController not imported correctly (likely default import used).","error":"Class extends value undefined is not a constructor or null"},{"fix":"Add a provider for JsonApiControllersOptions using a factory.","cause":"JsonApiControllersOptions not provided properly or missing provider.","error":"Nest cannot resolve dependencies of JsonApiControllersOptions"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/ziv/nestjs-rest#readme","github":"https://github.com/ziv/nestjs-rest","docs":null,"changelog":null,"pypi":null,"npm":"nestjs-rest","openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}