不解析RESTful应用程序中的视图
我正在使用Spring MVC 3使用RESTful
Web服务构建Web应用程序。该Web服务将由应用程序使用,因此永远不要真正解决对视图的任何请求。是否可以在Servlet上下文中指定任何请求都不应解析为任何视图的方法?
目前,我有:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
我知道尝试将任何请求解析到jsp
文件夹中相应命名的视图。但是,如果删除此选项,应用程序将尝试使用默认的视图解析器。
我担心的原因是我的应用程序日志将充满以下消息(即使它可以正常工作):
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 causejavax.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,没有内容,并且跳过了视图解析:
@ResponseStatus(NO_CONTENT)void noView() {
//...
}
如果要返回原始数据并将其序列化为JSON或XML,请使用@ResponseBody
:
@ResponseBodyMyPojo noView() {
return new MyPojo();
}
以上是 不解析RESTful应用程序中的视图 的全部内容, 来源链接: utcz.com/qa/423951.html