Định nghĩa request URL cho controller trong Spring MVC

Request URL là một URL mà người dùng sẽ sử dụng để truy cập vào ứng dụng web của chúng ta. Trong bài viết này, chúng ta sẽ tìm hiểu làm thế nào để định nghĩa request URL cho controller trong Spring MVC các bạn nhé!

Định nghĩa request URL

Một controller có thể xử lý được một hoặc nhiều request với request URL khác nhau. Spring MVC cung cấp cho chúng ta annotation @RequestMapping để định nghĩa một request URL.

Trong ví dụ của bài viết trước, các bạn thấy controller HomeController đã được định nghĩa một request URL:

Controller với 1 request URL

Nếu annotation @RequestMapping với request URL chỉ được định nghĩa bên trên định nghĩa của một lớp thì controller này chỉ xử lý cho một request duy nhất.

Ví dụ:

Trong trường hợp này, nếu chúng ta thêm một phương thức nữa với annotation @RequestMapping mà không có request URL:

thì khi chạy chúng ta sẽ gặp lỗi ngay:



Controller với nhiều request URL

Nếu annotation @RequestMapping với request URL được định nghĩa ở các phương thức thì controller này có thể xử lý nhiều request khác nhau.

Ví dụ sau lớp HomeController có thể xử lý 2 request đến từ người dùng bao gồm trang chủ và trang đăng nhập:

Ngoài ra, các bạn cũng có thể định nghĩa một phương thức có thể xử lý được nhiều request bằng cách định nghĩa request URL như sau:



Nối request URL

Trong trường hợp cả lớp và phương thức đều được khai báo với annotation @RequestMapping cùng với request URL thì request URL mà người dùng sử dụng để truy cập đến một trang nào đó phải là request URL của lớp cộng với request URL của phương thức.

Mình có ví dụ sau:

Trong ví dụ trên, mình đã khai báo annotation @RequestMapping cả trên lớp (“test”) và phương thức (“home”), thì request URL mà người dùng cần dùng để truy cập đến trang chủ phải là “/test/home”.

Kết quả:

Định nghĩa request URL cho controller trong Spring MVC

2 thoughts on “Định nghĩa request URL cho controller trong Spring MVC

Add Comment