sách gpt4 ăn đã đi

Một cuộc thảo luận ngắn gọn về việc liệu các tham số @RequestParam có phải được thông qua hay không

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 28 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết blog CFSDN này thảo luận ngắn gọn về vấn đề tham số @RequestParam có phải được thông qua hay không. Nó được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

1. Hiển thị mã nguồn

?
1
2
3
4
5
6
7
8
9
10
11
@Mục tiêu (ElementType.PARAMETER)
@Giữ chân (Chính sách lưu giữ.RUNTIME)
@Đã ghi chép
công cộng @giao diện Yêu cầu tham số {
  @Bí danh ( "tên" )
  Giá trị chuỗi() mặc định "" ;
  @Bí danh ( "giá trị" )
  Tên chuỗi() mặc định "" ;
  Boolean yêu cầu() mặc định ĐÚNG VẬY ;
  Chuỗi defaultValue() mặc định ValueConstants.DEFAULT_NONE;
}

Đây là mã mẫu.

?
1
2
3
4
5
@GetMapping ( "/tìmTheoId" )
   công cộng ResultBean theo id( @Yêu cầuParam (giá trị mặc định = "1" ,bắt buộc = SAI , /*giá trị = "ss",*/ tên = "là" ) Id số nguyên){
     Danh sách tất cả = customersService.findById(id);
     trở lại ResultBean.ok(tất cả);
   }

2. Mô tả

2.1 @RequestParam, đối với các tham số đầu vào của tham số, chú thích này không nhất thiết phải có mà nó chỉ có thể khớp với các tham số đầu vào mà bạn đã xác định có cùng tên. Nếu chúng khớp, chúng sẽ khớp. không khớp.

2.2 là bắt buộc, nếu cần thiết thì mặc định là đúng, nghĩa là khi @RequestParam tồn tại, điều kiện mặc định là bắt buộc = true được đáp ứng. Khi @RequestParam không tồn tại, phần giải thích về 2.1 sẽ được trả về.

2.3 defaultValue, đặt giá trị ban đầu, thường được sử dụng với require = false. Nếu không có giá trị nào được truyền thì giá trị mặc định sẽ được sử dụng.

Giá trị 2.4, giống như tên, đặt cho biến một bí danh, một đối một tương ứng với tên thuộc tính được giao diện người dùng truyền vào và ánh xạ tới tên biến giao diện mặt sau Đôi khi giao diện người dùng không thể chuyển cho bạn tên biến mà bạn. muốn theo yêu cầu, điều này đã hữu ích.

2.5 Tên, giống như giá trị, đặt bí danh cho một biến. Nếu cả hai tồn tại cùng lúc thì sẽ xảy ra lỗi trong quá trình truy cập.

Phần bổ sung: @RequestParam của springMVC là điều bắt buộc.

Trước tiên hãy xem mã:

?
1
2
3
4
5
6
7
8
@Yêu cầu lập bản đồ (giá trị = "/chiến dịch/{số trang}/{kích thước trang}" , phương thức = RequestMethod.GET)
công cộng Chuỗi getList( @PathVariable ( "trang số" ) số nguyên trangKhông,
   @PathVariable ( "Kích thước trang" ) số nguyên Kích thước trang,
   @Yêu cầuParam (giá trị mặc định = "0" ) số nguyên trạng thái,
   @Yêu cầuParam (bắt buộc= SAI ) Từ khóa chuỗi) {
     //....
     trở lại vô giá trị ;
}

1.@RequestParam

Trong đoạn mã trên, trong các trường hợp thông thường, @RequestParam không được thêm vào và các tham số của phương thức cũng có thể lấy dữ liệu ràng buộc tương ứng, vì vậy nhiều người nghĩ rằng @RequestParam có thể được thêm vào hay không.

Mãi về sau tôi mới biết rằng các đối tượng do cơ chế phản chiếu của Java tạo ra không lưu các tham số chứa phương thức, tức là tên tham số không được giữ lại trong tệp lớp nên spring không thể bị ràng buộc phản xạ.

Vậy câu hỏi đặt ra là tại sao chúng ta thường có thể ràng buộc nó?

Điều này là do nó có thể bị ràng buộc khi bật chế độ Gỡ lỗi và nhật thực mà chúng ta thường sử dụng được bật theo mặc định.

Lý do tại sao có thể liên kết trong chế độ Gỡ lỗi là vì Thêm thuộc tính biến vào các tệp lớp được tạo (được cửa sổ sử dụng) được chọn trong dự án->Thuộc tính->Trình biên dịch Java.

Bạn phải biết rằng việc bật chế độ Debug sẽ ảnh hưởng đến hiệu năng nên khi ra mắt chính thức sẽ bị tắt nếu chúng ta không thêm thì sẽ báo lỗi sau:

Xử lý yêu cầu không thành công; ngoại lệ lồng nhau là java.lang.IllegalArgumentException: Tên cho loại đối số ….

2.@PathVariable

@PathVariable được sử dụng để chỉ định trường nhằm lấy các tham số giữ chỗ trong URL trong @RequestMapping. Ví dụ: trường pageNo trong @PathVariable("pageNo") int pageNo ở trên được sử dụng để lấy giá trị của trình giữ chỗ {pageNo}.

Tên trong dấu ngoặc @PathVariable phải nhất quán với tên của trình giữ chỗ, nhưng tên trường không cần phải giống nhau.

Nếu tên không được chỉ định trong ngoặc, bạn cũng sẽ gặp phải sự cố 1 ở chế độ không gỡ lỗi.

Do đó, tên trong ngoặc @PathVariable là bắt buộc.

Trên đây là kinh nghiệm cá nhân của mình, hi vọng có thể cho các bạn tham khảo và mong các bạn có thể ủng hộ mình. Nếu có sai sót hoặc thiếu sót gì xin vui lòng chỉ giáo cho tôi.

Liên kết gốc: https://blog.csdn.net/qq_42105629/article/details/97298720.

Cuối cùng, bài viết này về vấn đề có phải thông qua tham số @RequestParam hay không. Nếu bạn muốn biết thêm về vấn đề có phải thông số @RequestParam hay không, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Bài viết, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

28 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress