Skip to content

Implement REST/OpenAPI functionality as an extension #5697

@hacksparrow

Description

@hacksparrow

As discussed in #5545 (comment), let's extract the REST/OpenAPI parts from src/packages to an extension.

This will involve creating a new HTTP Application package in place of the current src/packages/rest package, mostly by trimming down and making some modifications to the existing code. The extracted code with some modifications would become the REST/OpenAPI extension and will be located at extensions/rest.

Since LoopBack will be using the new HTTP Application package and the new extension would still be named @loopback/rest, this will be a breaking change and will require a major release.

Acceptance Criteria

  • Create a general-purpose HTTP Application package.
  • Move out src/packages/rest-crud to extensions/rest-crud.
  • Move out src/packages/rest-explorer to extensions/rest-explorer.
  • Extract the REST/OpenAPI-specific parts from src/packages/rest and implement as an extension.
  • The new HTTP Application should be able to bind the REST/OpenAPI extension to re-create all of the existing REST/OpenAPI functionality.
  • Update all documentation involving @loopback/rest to reflect the state of the updated architecture and codebase.
  • Document the new REST/OpenAPI extension in detail (this will solve many of the current documentation issues).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions