Home > Java > javaTutorial > body text

Why am I getting a 406 (Not Acceptable) Error When Sending a JSON Request to My Spring MVC Controller?

Mary-Kate Olsen
Release: 2024-10-30 10:28:26
Original
127 people have browsed it

Why am I getting a 406 (Not Acceptable) Error When Sending a JSON Request to My Spring MVC Controller?

Spring JSON Request Returning 406 (Not Acceptable)

When attempting to send a JSON request to a Spring MVC controller, some users encounter a "406 Not Acceptable" error. This issue stems from a mismatch between the requested content type ("application/json") and the response capability of the controller.

In Spring MVC, the controller method is annotated with "@ResponseBody" to indicate that the return value should be written to the HTTP response body as JSON. However, if the proper HTTPMessageConverter is not registered in the application context, Spring will be unable to convert the return value to the requested format.

A common cause of this error is the absence of the Jackson libraries in the application classpath. The Jackson libraries provide the HTTPMessageConverter responsible for converting Java objects to JSON and vice versa.

To resolve the issue, follow these steps:

  1. Ensure that the following Jackson libraries are included in the application classpath:

    • jackson-core-asl.jar
    • jackson-mapper-asl.jar
  2. If you are using Spring 3.0 or later, add the following line to the spring-servlet.xml configuration file to enable annotation-driven MVC configuration:

    <code class="xml"><mvc:annotation-driven /></code>
    Copy after login
  3. Remove the unnecessary "headers="Accept=/"" directive from the controller method annotation. This directive forces Spring to accept any header and can lead to compatibility issues.

By implementing these steps, the HTTPMessageConverter will be registered, and Spring will be able to convert the controller's return value to JSON as expected.

The above is the detailed content of Why am I getting a 406 (Not Acceptable) Error When Sending a JSON Request to My Spring MVC Controller?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!