我正试图在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警报):
无法推断基本URL。这在使用动态servlet注册或API位于API网关后很常见。基本URL是提供所有swagger资源的根。对于例如如果API在http://example.org/api/v2/api-docs上可用,则基本URL为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。
谢谢!
主要问题是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/"/>
现在UI工作正常!
在所有这一切之前还有另一个操纵,但你可以在hybris专家(相当大的帖子)中找到它们。