Git Product home page Git Product logo

spring-boot-jsonb's Introduction

Spring Boot app with example of Postgres JSONB data type usage

Java CI with Maven Coverage Branches

Includes web-server on port 9080 with /articles endpoint exposed.
Supports CRUD set of operations and R operation with pagination.

Prerequisites:

  • Maven 3
  • JDK 17

Build an application:

mvn clean install

Build Docker image with application inside:

docker build ./ -t spring-boot-jsonb-app

Start two Docker containers - with Postgres DB and application:

docker-compose up

Link for quick check:

http://localhost:9080/articles

Swagger documentation:

http://localhost:9080/swagger-ui/index.html

Useful CURL commands

New article addition:

curl -X POST "http://localhost:9080/articles" -i -H "Accept: application/json" -H "Content-Type: application/json" -d '{ "title": "Some tittle", "text": "Some text", "author": "Pushkin", "location": { "country": "BY", "city": "Minsk" } }'

Get existing article:

curl -i http://localhost:9080/articles/1

Update existing article:

curl -i -H "Accept: application/json" -H "Content-Type: application/json" -d '{ "title": "Another tittle" }' -X PATCH http://localhost:9080/articles/2

Search articles by an inner field of JSONB type:

curl -i 'http://localhost:9080/articles?country=BY'
curl -i 'http://localhost:9080/articles?country=BY&city=Minsk'

Get list of articles with pagination support:

curl -i 'http://localhost:9080/articles/all?size=2&page=4&sort=title,DESC'

Deletion of article:

curl -i -X DELETE http://localhost:9080/articles/1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.