Skip to content

Controllers

Controllers in LoopBack 4 handle HTTP requests and define REST endpoints.

Overview

The API has 606+ controllers handling various business domains:

  • User management
  • Ticket system
  • NCR (Non-Conformance Reports)
  • Production tracking
  • HR operations
  • IT management
  • And many more...

Controller Basics

A controller is a TypeScript class decorated with @api:

typescript
import { get, post, param, requestBody } from '@loopback/rest';
import { repository } from '@loopback/repository';
import { TicketRepository } from '../repositories';
import { Ticket } from '../models';

@api({ basePath: '/tickets' })
export class TicketController {
  constructor(
    @repository(TicketRepository)
    public ticketRepository: TicketRepository,
  ) {}

  @get('/')
  async findAll(): Promise<Ticket[]> {
    return this.ticketRepository.find();
  }

  @get('/{id}')
  async findById(@param.path.number('id') id: number): Promise<Ticket> {
    return this.ticketRepository.findById(id);
  }

  @post('/')
  async create(@requestBody() ticket: Ticket): Promise<Ticket> {
    return this.ticketRepository.create(ticket);
  }
}

Coming Soon

This page is under construction. More details will be added about:

  • Controller structure
  • Request/response handling
  • Validation
  • Error handling
  • Best practices

For now, refer to:

Syneo/Barcoding Documentation