1- Implement hibernate unidirectional one-to-many relational mapping
2- ER diagram :
NOT : One CustomerOrder is related to Many OrderItem entities
3- Start Spring Boot application with a specific profile such as "-Dspring.profiles.active=dev" .
4- swagger-ui can be accessed from URL : http://localhost:8080/customer-info/swagger-ui/
Java 11
H2 Database Engine
spring boot
spring data jpa
spring web
hibernate
logback
maven
junit
springfox-swagger-ui
datasource-proxy
Method : HTTP.POST
URL : localhost:8080/customer-info/customer/save
Request :
curl --location --request POST 'localhost:8080/customer-info/customer/save' \ --header 'Content-Type: application/json' \ --data-raw '{ "name": "name1", "age": 1, "shippingAddress": { "streetName": "software", "city": "ankara", "country": "TR" } }'
Response :
HTTP response code 200
{ "id": 1, "name": "name1", "age": 1, "shippingAddress": { "id": 1, "streetName": "software", "city": "ankara", "country": "TR" } }
Method : HTTP.POST
URL : localhost:8080/customer-info/customerorder/save
Request :
curl --location --request POST 'localhost:8080/customer-info/customerorder/save' \ --header 'Content-Type: application/json' \ --data-raw '{ "customer": { "age": 0, "id": 1, "name": "string", "shippingAddress": { "city": "string", "country": "string", "id": 1, "streetName": "string" } }, "orderDate": "2021-05-05T16:00:35.350Z", "orderItems": [ { "quantity": 1 }, { "quantity": 2 } ], "title": "string" }'
Response :
HTTP response code 200
{ "id": 1, "orderDate": "2021-05-05T16:00:35.35", "customer": { "id": 1, "name": "string", "age": 0, "shippingAddress": { "id": 1, "streetName": "string", "city": "string", "country": "string" } }, "title": "string", "orderItems": [ { "id": 1, "quantity": 1 }, { "id": 2, "quantity": 2 } ] }
Method : HTTP.GET
URL : localhost:8080/customer-info/orderitem/list
Request :
curl --location --request GET 'localhost:8080/customer-info/orderitem/list'
Response :
HTTP response code 200
[ { "id": 1, "quantity": 1 }, { "id": 2, "quantity": 2 } ]