sách gpt4 ai đã đi

Giới thiệu về HttpMessageConverter trong SpringMVC và vấn đề về yêu cầu Http 415

In lại Tác giả:qq735679552 Thời gian cập nhật: 2022-09-29 22:32:09 hai mươi bốn 4
mua khóa gpt4 Nike

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

Bài đăng trên blog CFSDN này Giới thiệu về HttpMessageConverter trong SpringMVC và Các vấn đề với Http Request 415 được tác giả thu thập và sắp xếp. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

1. Mô tả vấn đề:

Trong chương trình web SprinvMVC, tôi đã gửi một yêu cầu Ajax POST trên trang, sau đó sử dụng @requestBody trên máy chủ để nhận các tham số trong nội dung yêu cầu. Trong quá trình chạy, tôi muốn máy chủ gửi một yêu cầu Ajax, nhưng trình duyệt liên tục trả về mã trạng thái là 415 Unsupported Media Type hoặc 400, và tôi nghĩ rằng có vấn đề gì đó với mã Ajax. Tôi đã tìm kiếm thông tin trong một thời gian dài và phát hiện ra rằng có điều gì đó bị thiếu trong cấu hình của tệp spring-mvc.config. Tất nhiên, cũng có thể là bạn thực sự thiếu cài đặt tham số Content-Type trong Ajax. Sau khi phân tích, có vẻ như có vấn đề với cấu hình tệp springMVC-config.xml của tôi. (Lưu ý): 400: (Yêu cầu không hợp lệ) Máy chủ không hiểu cú pháp của yêu cầu. 415: (Loại phương tiện không được hỗ trợ) Định dạng được yêu cầu không được trang yêu cầu hỗ trợ.

2.Giải pháp: .

 Trong tệp springMVC-config.xml, trình chuyển đổi thông tin yêu cầu StringHttpMessageConverter được thêm vào. Đoạn cấu hình như sau:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
"stringHttpMessageConverter" lớp học = "org.springframework.http.converter.StringHttpMessageConverter" />
 
< đậu lớp học = "org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" >
  "Bộ chuyển đổi tin nhắn" >
  < danh sách >
   < tham chiếu bean= "mappingJacksonHttpMessageConverter" />
  
   < tham chiếu bean= "stringHttpMessageConverter" />
   < tham chiếu bean= "jsonHttpMessageConverter" />
   < tham chiếu bean= "formHttpMessageConverter" />
 
 

3. Giới thiệu về trình chuyển đổi thông tin yêu cầu HttpMessageConverter:

Giao diện HttpMessageConverter chỉ định một bộ chuyển đổi có thể chuyển đổi định dạng thông tin yêu cầu Http và thông tin phản hồi Http. Các bộ chuyển đổi thường thực hiện giao diện HTTPMESSAGECONVERTER như sau: BytearrayhttpmessageConverter: có trách nhiệm đọc và ghi dữ liệu định dạng nhị phân; để đọc dữ liệu được gửi (định dạng dữ liệu có thể được đọc là ứng dụng/-www-form-urlencoded và dữ liệu đa dạng dữ liệu hình thức/dữ liệu có thể được đọc); Viết dữ liệu được xác định bởi javax.xml.transform.source trong XML; Chịu trách nhiệm đọc và ghi dữ liệu ở định dạng RSS; .

Để biết thêm thông tin về HttpMessageConverter, hãy xem:

http://docs.spring.io/spring/docs/3.0.x/api/org/springframework/http/converter/HttpMessageConverter.html.

4.Quy trình thực hiện chuyển đổi thông tin yêu cầu HttpMessageConverter:

Khi người dùng gửi yêu cầu, chú thích @Requestbody sẽ đọc dữ liệu trong phần thân yêu cầu. Bộ chuyển đổi yêu cầu mặc định HttpMessageConverter sẽ lấy Content-Type trong tiêu đề yêu cầu để xác nhận định dạng dữ liệu của tiêu đề yêu cầu, do đó điều chỉnh bộ chuyển đổi phù hợp với dữ liệu yêu cầu. Ví dụ, nếu contentType:applicatin/json, trình chuyển đổi sẽ điều chỉnh MappingJacksonHttpMessageConverter. Tương tự như vậy, khi phản hồi, chú thích @Responsebody sẽ kích hoạt HttpMessageConverter, điều chỉnh bộ chuyển đổi phản hồi bằng cách phát hiện thuộc tính Accept trong Header. .

Tóm tắt:

Khi sử dụng SpringMVC để nhận dữ liệu máy chủ, đặc biệt là khi thực hiện các yêu cầu Ajax, hãy chú ý đặc biệt đến thuộc tính contentType và thiết lập thuộc tính accepte, đồng thời cấu hình bộ chuyển đổi tương ứng trong springmvc-config.xml. Khi chúng ta sử dụng SpringMVC để tạo yêu cầu Ajax, một số phương thức sử dụng phương thức response.getWriter().print(). Một cách tốt hơn là thêm chú thích @Responsebody và trả về trực tiếp dữ liệu kiểu Bản đồ, được trình chuyển đổi tự động chuyển đổi thành kiểu dữ liệu JSON.

Cuối cùng, bài viết này về việc giới thiệu HttpMessageConverter trong SpringMVC và vấn đề của Http request 415 đã kết thúc. Nếu bạn muốn biết thêm về việc giới thiệu HttpMessageConverter trong SpringMVC và vấn đề của Http request 415, vui lòng tìm kiếm các bài viết trong CFSDN hoặc tiếp tục duyệt các bài viết liên quan. Tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai! .

hai mươi bốn 4 0
qq735679552
Hồ sơ cá nhân

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á Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com