Restful api web service là gì, Hướng dẫn tạo restful api web service trong java web sử dụng spring boot
Trong bài viết này, laptrinhjavaweb muốn giới thiệu cho các bạn biết restful api web service là gì
Sau khi tìm hiểu được khái niệm restful api web service là gì thì laptrinhjavaweb tiếp tục hướng dẫn các bạn tạo web services trong java web sử dụng spring boot như thế nào với các đội tượng:
@Controller, @RequestBody, @ResponseBody, @RequestMapping, @RestController, @GetMapping, @PostMapping, @PutMapping, @DeleteMapping ...
Việc tạo restful api web service trong java web sử dụng spring boot cũng như biết về khái niệm restful api web service là gì giúp ích rất nhiều cho các bạn khi join khóa học spring boot cơ bản miễn phí của laptrinhjavaweb: HỌC SPRING BOOT
Khóa học java web cơ bản nâng cao đi làm với spring boot, spring framework tại Laptrinhjavaweb Academy
Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí
- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT
- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT
- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT
- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản
1. Java backend api web service: CHI TIẾT
2. Thiết kế website
2.1 Thiết kế website cơ bản: CHI TIẾT
2.2 Thiết kế website nâng cao: CHI TIẾT
- Học spring framework không sử dụng spring boot: CHI TIẾT
Restful api web service là gì
Web service thì có 2 dạng:
- SOAP
- REST
Dạng mà chúng ta hay xài nhất đó là REST, nó sử dụng kiểu dữ liệu JSON để tương tác
Nhìn vào hình trên bạn sẽ rõ, app và web chắc chắn cách binding data hay truy vấn tới server nó sẽ khác nhau, tuy nhiên để đồng bộ dữ liệu, hệ thống TIKI chẳng hạn họ sẽ dùng cơ chế này để đồng bộ. Khi ta thay đổi data trên app hay web thì cả web và app sẽ đồng bộ dữ liệu như nhau. Như đã nói, cách binding data và truy vấn dữ liệu của app hay web sẽ khác nhau, do đó chúng ta cần 1 kĩ thuật để đồng bộ input hay output khi app hay web truyền data về server và ngược lại. Và kĩ thuật dùng ở đây đó chính là web service và cụ thể chúng ta sử dụng REST API với JSON data.
Vậy restful web service được build như thế nào khi chúng ta sử dụng spring boot, bây giờ zô nhé bà con
Các phần mềm và thư viện sử dụng
- Apache maven 3.6.0
- Eclipse EE
- JDK 1.8
- spring boot 1.5.9.RELEASE
- Postman
Download các phần mềm tại đây: LINK DOWNLOAD
Để học được bài này, các bạn phải xem qua bài tạo project spring boot nhé: SPRING BOOT LÀ GÌ
Các bạn làm theo các bước như sau
1.1 Sử dụng @Controller
Trong package com.laptrinhjavaweb.api bạn tạo 1 file có tên là NewAPI.java và copy đoạn code phía dưới vào
@Controller
public class NewAPI {
@RequestMapping(value = "/new", method = RequestMethod.POST)
@ResponseBody
public NewDTO createNew(@RequestBody NewDTO model) {
return model;
}
}
@Controller: định nghĩa NewAPI từ 1 java class thành 1 API web service trong spring boot, hiểu đơn giản là biến 1 java class thông thường thành 1 API trong restful web service của spring boot
@RequestMapping: tìm kiếm theo đúng URL của request từ client
RequestMethod.POST: là 1 trong 4 HTTP method, POST được dùng trong các trường hợp thêm dữ liệu vào trong database
Khi viết API, bắt buộc chúng ta phải định nghĩa HTTP method cho API đó
@RequestBody: nhận dữ liệu json được truyền từ client vào server
@ResponseBody: trả kết quả json từ server về client
1.2 Sử dụng @RestController
@RestController
public class NewAPI {
@PostMapping("/new")
public NewDTO createNew(@RequestBody NewDTO model) {
return model;
}
}
@RestController thay thế cho @Controller + @ResponseBody
@PostMapping thay thế cho @RequestMapping + RequestMethod.POST
Chú ý:
1 số nguyên tắc khi viết API:
- Tên api phải là danh từ
- http method phải đúng với thao tác
Thêm: POST
Sửa: PUT
Xóa: DELETE
Hiển thị dữ liệu: GET
2. Tạo NewDTO
2.1 Tạo package com.laptrinhjavaweb.dto
2.2 Trong package com.laptrinhjavaweb.dto tạo 1 file có tên NewDTO.java và copy đoạn code phía dưới vào file
public class NewDTO {
private String title;
private String content;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
3. Test api
Sau khi hoàn thành các bước trên, chúng ta đi vào phần test api, để kiểm tra xem API đó có work không
Phần mềm sử dụng để test api đó là PostMan, bạn nào chưa có thì download tại đây https://www.postman.com/downloads/
3.1 Mở postman lên nhập các thông tin như hình
3.2 Anh em run con spring boot lên và chạy postman, nếu nó ra kết quả như hình bên dưới thì anh em đã thành công rồi nhé
Chú ý: anh em nào mà chưa biết tạo và run project spring boot api web service thì xem lại bài này nhé TẠO PROJECT SPRING BOOT
Kết quả sau khi run
Học java core, java web cơ bản sử dụng jsp servlet, spring boot, spring framework miễn phí
- Học java cơ bản miễn phí dành cho bạn nào chưa biết gì về Java, yếu Java, cần ôn tập Java để đi phỏng vấn: CHI TIẾT
- Học java nâng cao hướng đối tượng (OOP) miễn phí dành cho bạn nào đã có kiến thức Java cơ bản: CHI TIẾT
- Học java web cơ bản sử dụng jsp servlet: CHI TIẾT
- Học spring boot, spring framework dành cho bạn nào đã có kiến thức java web cơ bản
1. Java backend api web service: CHI TIẾT
2. Thiết kế website
2.1 Thiết kế website cơ bản: CHI TIẾT
2.2 Thiết kế website nâng cao: CHI TIẾT
- Học spring framework không sử dụng spring boot: CHI TIẾT
Tham gia livestream workshop học java miễn phí cùng Laptrinhjavaweb
Tham gia group facebook để hỏi đáp trong quá trình học
Các kênh để nhận thông báo sớm nhất, hỏi đáp miễn phí trong quá trình học
Để có thể nhận thông báo nhanh nhất về các nội dung mà Laptrinhjavaweb biên soạn, các bạn follow facebook, youtube, nhóm Zalo. Trong quá trình học, cần hỏi đáp thì các bạn join vô nhóm facebook để hỏi đáp nhé
1. Nhận thông báo
- Facebook Laptrinhjavaweb: XEM TẠI ĐÂY
- Facebook cô giáo Lâm: XEM TẠI ĐÂY
- Youtube Laptrinhjavaweb: XEM TẠI ĐÂY
- Youtube Cô giáo Lâm: XEM TẠI ĐÂY
- Nhóm Zalo nhận thông báo: XEM TẠI ĐÂY
2. Hỏi đáp miễn phí, report bug, gợi ý nội dung
- Nhóm Facebook hỏi đáp miễn phí: XEM TẠI ĐÂY
Trên mạng có rất nhiều nguồn, tài liệu để học rất vui khi các bạn chọn Laptrinhjavaweb. Chúc các bạn học vui, hiệu quả cùng Cô giáo Lâm và Laptrinhjavaweb
Khóa học java web cơ bản nâng cao đi làm với spring boot, spring framework tại Laptrinhjavaweb Academy