• 0909.804.713 / 0896.446.753
  • cskh@laptrinhjavaweb.com

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

Nhận Ebook phỏng vấn lập trình
Java và Spring Framework

Hy vọng tài liệu phỏng vấn này sẽ giúp cho anh/chị/em tốt hơn trong quá trình phỏng vấn

Đăng ký nhận ebook ngay
phone zalo zalo