Skip to content

delphinen/Spring-Boot-Sample-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spring Boot Application Example

Build Status Coverage Status

Installation Instructions

You can import the project as a maven application to your favorite IDE. I made my tests by using eclipse jee-2018-12.

If lombok gets in your way, by referring this answer, you can install lombok by its jar file.

To run the application

Use one of the several ways of running a Spring Boot application. Below are just three options:

  1. Build using maven goal (or by using maven wrapper): mvn clean package and execute the resulting artifact as follows java -jar BankApplicationBackend-0.0.1-SNAPSHOT.jar or
  2. On Unix/Linux based systems: run mvn clean package then run the resulting jar as any other executable ./BankApplicationBackend-0.0.1-SNAPSHOT.jar
  3. Run as a Docker container.
    1. Clone the repository.
    2. cd to project root directory.
    3. docker build -t demo/bankapp .
    • If you get a ./mvnw not found error, just run mvn -N io.takari:maven:wrapper -Dmaven=3.5.3 while in the root directory of the project.
    1. docker run --expose 8080 -p 8080:8080 demo/bankapp

To test the application

  1. Create a user with /api/user/create url.
`$ curl -X POST localhost:8080/api/user/create -d "{\"username\": \"yourUsername\", \"password\": \"yourPassword\", \"tcno\": \"12512561125\"}" -H "Content-Type:application/json"`

You'll get a response as in below.

`{"username":"yourUsername","tcno":"12512561125"}`
  1. Generate an access token by api/login url.

$ curl -H "Content-Type: application/json" -X POST -d "{\"username\": \"yourUsername\", \"password\": \"yourPassword\"}" http://localhost:8080/api/login

You'll be getting an access token similar to this.

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5b3VyVXNlcm5hbWUiLCJleHAiOjE1NTI0NDMzNjZ9.0WSCg4vaP7BVeJz8tQnL3s-BYjBB6UWXlQKCZHm1_zqEVIiA8_71Ni7tbPDm2DbW-Qc_fPP9CQF1jKcRC9njFQ

  1. Use the token to access content available to all authenticated users, through the RESTful API

Http.Get request example: curl -i -H "Accept: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5b3VyVXNlcm5hbWUiLCJleHAiOjE1NTI0NDMzNjZ9.0WSCg4vaP7BVeJz8tQnL3s-BYjBB6UWXlQKCZHm1_zqEVIiA8_71Ni7tbPDm2DbW-Qc_fPP9CQF1jKcRC9njFQ" -X GET http://localhost:8080/api/user/find/all

Http.Post request example: curl -H "Content-Type: application/json" -H "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ5b3VyVXNlcm5hbWUiLCJleHAiOjE1NTI0NDMzNjZ9.0WSCg4vaP7BVeJz8tQnL3s-BYjBB6UWXlQKCZHm1_zqEVIiA8_71Ni7tbPDm2DbW-Qc_fPP9CQF1jKcRC9njFQ" -X POST -d "{\"username\": \"yourUsername\", \"buying\": \"true\", \"currency\": \"USD\", \"amount\": \"250\"}" http://localhost:8080/api/transaction/create

About

Java / Maven / Spring Boot application, providing RESTful services.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.5%
  • Dockerfile 0.5%