如何在一个JSP(Spring MVC上的Web应用程序)中使用两个ContentType:文本/html &&应用程序/json

xcitsw88  于 2023-01-13  发布在  Spring
关注(0)|答案(1)|浏览(90)

我正在开发一个简单的crud应用程序,没有前端,但我想有一个非常简单的视觉为自己和观众。现在我已经创建了一个简单的jsp文件与一组标签'a'。这并不难完成所有的GET请求。但是,POST请求给予一个错误“HTTP状态415 -不支持的媒体类型”。
这是我的.jsp

<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>Title</title>
    <style>
      
    </style>
</head>

<body>

<div class="admin div">
    <h2>Options for Admin</h2>
    <li><a href="">Create User</a></li>
    <li><a href="">Update User</a></li>
    <li><a href="">Delete User</a></li>
    <li><a href="${pageContext.request.contextPath}/rest/admin/users/100003" class="deal">Get User by ID(for example 100003</a></li>
    <li><a href="${pageContext.request.contextPath}/rest/admin/users/by-email?email=david_D@gmail.com" class="deal">Get User by Email(for example - david_D@gmail.com)</a></li>
    <li><a href="${pageContext.request.contextPath}/rest/admin/users" class="deal">All users</a></li>
    <br>
    <li><a href="">Create restaurant</a></li>
    <li><a href="">Update restaurant</a></li>
    <li><a href="">Delete restaurant</a></li>
    <br>
    <li>
    <form  method="post" action="/rest/admin/restaurants/100005/meals">
            <div class="add">
                <dt>Description</dt>
                <input type="text" name="description" value="Some Meal"><br> </input>
            </div>
            <div class="add">
                <dt>Price</dt>
                <input type="number" name="price" value="50"><br> </input>
            </div>
            <button type="submit">SAVE</button>
    </form>
    </li>
    <br>
    <li><a href="">Update meal</a></li>
    <li><a href="">Delete meal</a></li>
    <li><a href="/rest/admin/restaurants/100005/meals" class="deal">Get actual meals (for example - by restaurant with ID = 100005)</a></li>
    <li><a href="/rest/admin/restaurants/100005/meals/100010" class="deal">Get meal by ID (for example - by restaurant with ID = 100005, meal ID = 100010)</a></li>
</div>

</body>
</html>

当我尝试发送POST请求时,我收到“HTTP状态415 -不支持的媒体类型”。
网络中:
响应必须具有“json/application”内容类型,但请求具有“text/html”。仅在jsp-file中添加另一个contentType不起作用。
请分享你的经验。

vzgqcmou

vzgqcmou1#

尝试让@PostMapping控制器方法Map看起来像这样:
@PostMapping(值=“/您的网址”,使用= {媒体类型.应用程序_JSON_值,媒体类型.文本_HTML_值},产生= {媒体类型.应用程序_JSON_值,媒体类型.文本_HTML_值})

相关问题