Helpex - Trao đổi & giúp đỡ Đăng nhập
264

Có thể sử dụng nhiều @RequestMappingchú thích trên một phương thức không?

Giống :

@RequestMapping("/")
@RequestMapping("")
@RequestMapping("/welcome")
public String welcomeHandler(){
  return "welcome";
}
264 hữu ích 0 bình luận 170k xem chia sẻ
470

@RequestMappingcó một String[]tham số giá trị, vì vậy bạn có thể chỉ định nhiều giá trị như sau:

@RequestMapping(value={"", "/", "welcome"})

470 hữu ích 5 bình luận chia sẻ
25

Từ thử nghiệm của tôi (mùa xuân 3.0.5), @RequestMapping(value={"", "/"}) - chỉ "/"hoạt động, ""không. Tuy nhiên, tôi phát hiện ra điều này hoạt động:, @RequestMapping(value={"/", " * "})các " * "khớp với bất kỳ thứ gì, vì vậy nó sẽ là trình xử lý mặc định trong trường hợp không có người khác.

25 hữu ích 0 bình luận chia sẻ
13

Không cần thiết. Chú thích RequestMapping hỗ trợ các ký tự đại diện và đường dẫn kiểu antoàn. Cũng có vẻ như bạn chỉ muốn một chế độ xem mặc định, vì vậy bạn có thể đặt

<mvc:view-controller path="/" view-name="welcome"/>

trong tệp cấu hình của bạn. Điều đó sẽ chuyển tiếp tất cả các yêu cầu tới Root đến chế độ xem chào mừng.

13 hữu ích 2 bình luận chia sẻ
2

Con đường ngắn nhất là: @RequestMapping({"", "/", "welcome"})

Mặc dù bạn cũng có thể làm:

  • @RequestMapping(value={"", "/", "welcome"})
  • @RequestMapping(path={"", "/", "welcome"})
2 hữu ích 0 bình luận chia sẻ
2

Ngay bây giờ với việc sử dụng Spring-Boot 2.0.4 - {} sẽ không hoạt động.

@RequestMapping

vẫn có String [] làm tham số giá trị, vì vậy khai báo trông như thế này:

 @RequestMapping(value=["/","/index","/login","/home"], method = RequestMethod.GET)

** Cập nhật - Hoạt động với Spring-Boot 2.2 **

 @RequestMapping(value={"/","/index","/login","/home"}, method = RequestMethod.GET)
2 hữu ích 2 bình luận chia sẻ
1

Những điều sau đây cũng được chấp nhận:

@GetMapping(path = { "/{pathVariable1}/{pathVariable1}/somePath", 
                     "/fixedPath/{some-name}/{some-id}/fixed" }, 
            produces = "application/json")

Tương tự có thể được áp dụng cho @RequestMappingcùng

1 hữu ích 0 bình luận chia sẻ
0

Tốt hơn là sử dụng chú thích PathVariable nếu bạn vẫn muốn lấy đi tiểu đã được gọi.

@PostMapping("/pub/{action:a|b|c}")
public JSONObject handlexxx(@PathVariable String action, @RequestBody String reqStr){
...
}

hoặc phân tích cú pháp nó từ đối tượng yêu cầu.

0 hữu ích 0 bình luận chia sẻ
loading
Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ java spring spring-mvc , hoặc hỏi câu hỏi của bạn.

Có thể bạn quan tâm

loading