我正试图在MYcommercewebservices中整合招摇。 我阅读了帖子并完成了列出的所有步骤,但仍然有此错误。
https://localhost:9002/mycommercewebservices/v2/v2/api-docs工作正常。 https://localhost:9002/mycommercewebservices/v2/swagger-ui.html - 返回UnknownResourceError。
此外 - 如果我导航到https://localhost:9002/mycommercewebservices/swagger-ui.html(没有'v2'),它会显示此消息(javascript警告):
无法推断基本网址。这在使用动态servlet时很常见 注册或API在API网关后面。基本URL是 服务所有招摇资源的根源。对于例如如果 该API可在http://example.org/api/v2/api-docs处获得 基本网址为http://example.org/api/。请输入位置 手动:
我找到了这个控制器,可能是问题的一部分,因为当我导航到https://localhost:9002/mycommercewebservices/v2/swagger-ui.html
时它抛出异常@Controller
public class DefaultController
{
@RequestMapping
public void defaultRequest(final HttpServletRequest request)
{
throw new UnknownResourceException("There is no resource for path " + YSanitizer.sanitize(request.getRequestURI()));
}
}
现在我禁用了控制器,但仍然有相同的异常,但现在它是json格式而不是.xml。
谢谢!
答案 0 :(得分:0)
主要问题出在DefaultController(在MYcommercewebservices中)
@Controller
public class DefaultController
{
@RequestMapping
public void defaultRequest(final HttpServletRequest request)
{
throw new UnknownResourceException("There is no resource for path " + YSanitizer.sanitize(request.getRequestURI()));
}
}
它正在抓住我的请求并抛出异常 当我禁用此控制器时,我继续收到异常,但现在它是json格式(在xml之前)。
我将其添加到springmvc-v2-servlet.xml
<mvc:default-servlet-handler/>
<mvc:resources mapping="swagger-ui.html" location="classpath:/META-INF/resources/"/>
<mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>
现在用户界面工作正常!
在此之前还有另外一次操纵,但是你可以在hybris专家(相当大的帖子)中找到它们。