Bài 03: Xây dựng RESTful Web Service với Spring
Chi tiết về RESTful các bạn có thể tìm trên mạng
Requirements
Thời lượng: 15 phút
Editor hoặc IDE: Sublime hoặc tuỳ thích
JDK: 6 hoặc cao hơn
Gradle: 4+
Xây dựng
Truy cập https://start.spring.io tạo project với thông số
- Generate a Gradle Project with Java and Spring Boot 2.0.1
- Group com.hocspringcoban
- Artifact post03_restful
- Search for dependencies Web
Xây dựng src/main/java/com/hocspringcoban/post03_restful/Greeting.java
package com.hocspringcoban.post03_restful; public class Greeting { private final long id; private final String name; public Greeting(long id, String name) { this.id = id; this.name = name; } public long getId() { return this.id; } public String getName() { return this.name; } }
Xây dựng src/main/java/com/hocspringcoban/post03_restful/GreetingController.java
package com.hocspringcoban.post03_restful; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController public class GreetingController { private static final String template = "Welcome, %s!"; private long count = 0; @RequestMapping("/greeting") public Greeting greeting(@RequestParam(value="name", defaultValue = "Einstein") String name) { return new Greeting(++count, String.format(template, name)); } }
Ghi chú
- Annotation @RestquestParam dùng để chỉ thị param được truyền vào hàm greeting với tên param là "name" và giá trị mặc định defaultValue = "Einstein" nếu tham số rỗng
- Khi return một object kiểu class Greeting, Spring sẽ tự động hiển thị một dữ liệu JSON tương ứng (yêu cầu phải có các hàm get trong class Greeting)
Kiểm thử
Tại thư mục post03_restful, nhập lệnh gradle bootRun để chạy
Truy cập http://localhost:8080/greeting nhận được kết quả
{"id":3,"name":"Welcome, Einstein!"}
Truy cập http://localhost:8080/greeting?name=Hoc%20Spring%20Co%20Ban nhận được kết quả
{"id":6,"name":"Welcome, Hoc Spring Co Ban!"}
Nhận xét
Đăng nhận xét