gpt4 book ai didi

rest - 不解析RESTful应用程序中的 View

转载 作者:行者123 更新时间:2023-12-03 10:09:32 27 4
gpt4 key购买 nike

我正在使用Spring MVC 3使用RESTful Web服务构建Web应用程序。该Web服务将由应用程序使用,因此永远不要真正解决对 View 的任何请求。是否可以在Servlet上下文中指定任何请求都不应解析为任何 View 的方法?

目前,我有:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>

我知道尝试将任何请求解析为 jsp文件夹中相应命名的 View 。但是,如果删除此选项,则应用程序将尝试使用默认的 View 解析器。

我担心的原因是我的应用程序日志将充满以下消息(即使它可以正常工作):
SEVERE: Servlet.service() for servlet [DispatcherServlet] in context with path [/vouchd] threw exception [Circular view path [signup]: would dispatch back to the current handler URL [/vouchd/signup] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)] with root cause
javax.servlet.ServletException: Circular view path [signup]: would dispatch back to the current handler URL [/vouchd/signup] again. Check your ViewResolver setup! (Hint: This may be the result of an unspecified view, due to default view name generation.)

或使用 InternalViewResolver:
WARN [http-bio-8080-exec-4] (DispatcherServlet.java:1057) - No mapping found for HTTP request with URI [/app/WEB-INF/jsp/call.jsp] in DispatcherServlet with name 'DispatcherServlet'

我猜这是两个弊端中更好的一个。我不想关闭日志WARN级别。

最佳答案

尝试使用 @ResponseStatus 。这段代码返回204,没有内容,并且跳过了 View 解析:

@ResponseStatus(NO_CONTENT)
void noView() {
//...
}

如果要返回原始数据并将其序列化为JSON或XML,请使用 @ResponseBody :
@ResponseBody
MyPojo noView() {
return new MyPojo();
}

关于rest - 不解析RESTful应用程序中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399531/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com