Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

oatpp/example-crud

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

88 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Example-CRUD Build Status

A complete example of a "CRUD" service (UserService) built with Oat++.

In this example:

  • How to create CRUD endpoint.
  • How to use oatpp ORM - SQLite example.
  • How to document API with Swagger-UI and OpenApi 3.0.0.

More about Oat++:

Overview

This project is using the following oatpp modules:

Project layout

|- CMakeLists.txt                        // projects CMakeLists.txt
|- sql/                                  // SQL migration scripts for SQLite database
|- src/
|   |
|   |- controller/                       // Folder containing REST Controllers (UserController)
|   |- db/                               // Folder containing the database client
|   |- dto/                              // DTOs are declared here
|   |- service/                          // Service business logic classes (UserService)
|   |- AppComponent.hpp                  // Service config
|   |- DatabaseComponent.hpp             // Database config
|   |- SwaggerComponent.hpp              // Swagger-UI config
|   |- App.cpp                           // main() is here
|
|- test/                                 // test folder
|- utility/install-oatpp-modules.sh      // utility script to install required oatpp-modules.

Build and Run

Using CMake

Pre Requirements
  • oatpp
  • oatpp-swagger
  • oatpp-sqlite with -DOATPP_SQLITE_AMALGAMATION=ON cmake flag.

Note: You may run utility/install-oatpp-modules.sh script to install required oatpp modules.

Build Project
$ mkdir build && cd build
$ cmake ..
$ make 
$ ./crud-exe        # - run application.

In Docker

$ docker build -t example-crud .
$ docker run -p 8000:8000 -t example-crud

Endpoints

HTML

HTTP Method URL Description
GET http://localhost:8000/ Root page
GET http://localhost:8000/swagger/ui Swagger UI page

User Service

HTTP Method URL Description
POST http://localhost:8000/users Create new User
PUT http://localhost:8000/users/{userId} Update User by ID
GET http://localhost:8000/users/{userId} Get User by ID
DELETE http://localhost:8000/users/{userId} Delete User by ID
GET http://localhost:8000/users/offset/{offset}/limit/{limit} Get All Users with Paging

About

A complete example of a "CRUD" service (UserService) built with Oat++.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6

Morty Proxy This is a proxified and sanitized view of the page, visit original site.