สร้าง Rest API ใช้งานร่วมกับ SwaggerUI + JPA ด้วย Spring boot

บทความนี้เราจะมายกตัวอย่างการสร้าง REST API ใช้งานร่วมกับ SwaggerUI + JPA โดยใช้ Spring Boot ซึ่งเราจะเอาไอ้เจ้า JPA นี่แหล่ะมาทำ CRUD แบบง่ายๆ มากเว่อร์ Step by step กันค่ะ

Rest API คืออะไร ?

JPA คืออะไร ?
JPA ย่อมาจาก Java Persistence API เป็น Java API ตัวนึงที่ทำหน้าที่ Map ข้อมูลจาก database ให้อยู่ในรูปของ Object ในภาษา Java ช่วยลดภาระการเขียนโค้ดและทำให้การจัดการกับข้อมูล Database มีประสิทธิภาพมากขึ้น
JPA เป็นมาตรฐานหรือแนวทางในการทำ ORM (Object Relational Mapping)

Swaagger คืออะไร ?
API Document ช่วยอธิบายโครงสร้างของและความสามารถของ API (Application Programming Interface) ซึ่งไอ้เจ้า Swagger เนี่ย สามารถเอาไป Export SwaggerUI(Online) ได้ด้วยนะ!

SwaaggerUI คืออะไร ?
ก็เหมือน Swagger ที่อธิบายไว้ข้างต้นนั่นแหล่ะ! แต่เพิ่มในส่วนของหน้าตา UI เข้ามาด้วย

Soft waere (ที่ใช้ในการยกตัวอย่าง)

  • Eclipse
  • JDK 1.8
  • Maven 3.2+
  • MYSQL Workbench

ขั้นตอนการสร้าง Rest API Step by step

  1. เปิด MYSQL Workbench ขึ้นมาแล้วเอา SQL Statement ด้านล่างไปรัน
ภาพตัวอย่างโครงสร้าง Database

2. เปิด eclipse ขึ้นมาเพื่อทำการสร้างโปรเจค File >New >Other… >Spring Boot > Spring Starter Project >Next

ภาพตัวอย่างการสร้างโปรเจค 1

3. กำหนดค่า Group Id, Artifact Id(ชื่อโปรเจค) and Package >Next (ทำตามรูปด้านล่าง)

*** ขั้นตอนนี้ต้องต่อ internet ด้วยนะจ๊ะ

ภาพตัวอย่างการสร้างโปรเจค 2

4. เลือก libraries จำเป็นต้องใช้ >Finish

ภาพตัวอย่างการเลือก libraries

5. เมื่อสร้างโปรเจคเสร็จแล้วจะได้โครงสร้างโปรเจคดังรูป
*** ถ้า Update Maven แล้วไม่ได้โครงสร้างโปรเจ็คแบบนี้ แนะนำให้ ได้เอาโครงสร้าง pom.xml ด้านล่างมาวางแล้ว Update Maven

ตัวอย่างโครงสร้างโปรเจค
ตัวอย่างโครงสร้างโปรเจคที่เสร็จแล้ว

7. ตัวอย่างการ config file pom.xml ดังต่อไปนี้

*** หลังจากนั้น Click right at project >Maven >Update Project…

8. Update application.properties

9. สร้างไฟล์ Product.java

10. สร้างไฟล์ ProductRepository.java

11. สร้างไฟล์ ProductController.java

12. สร้างไฟล์ SwaggerConfig.java

13. สำหรับตัวอย่าง source code ครบแล้ว! หลังจากนั้นให้ Clik right at project >Run As >Spring Boot App

14. แสดงผลหน้าจอการ Run project พร้อม URL ด้านล่าง

http://localhost:8080/swagger-ui.html
ภาพตัวอย่างการแสดงผลหน้าจอหลังจากกการ Run project

เรียบร้อยแล้วค่ะ สำหรับการสร้าง Rest APIs ใช้งานร่วมกับ Swagger และ JPA ของเราลองไป Test service ได้เลย!!! ไม่ยกตัวอย่างการ Test Service นะคะ เพราะว่ามีเจ้า SwaggerUI อธิบายโครงสร้างโปรเจคอยู่แล้ว! สามารถดู Source code ทั้งหมดด้านล่างเลยค่ะ 🙂

https://gitlab.com/springboot10/springboot-swagger-crud

--

--

No responses yet