sparkjava路由冲突:静态文件和默认异常处理程序

时间:2016-02-09 01:02:32

标签: routes spark-java

我有一个json webservice,我只想返回json。现在,当用户请求不存在的资源时,他们会从sparkjava引擎获得html 404响应。

我尝试按如下方式返回404 json响应:

  1. 使用sparkjava,我初始化我的静态文件。

    externalStaticFileLocation(" /我的/静态/文件/路径&#34);

  2. 我设置了应用程序端点。

  3. 我设置的最后一个端点是我的404处理程序。基本上,如果网址没有匹配上面的1或2,那么假定404就像这样:

    Routes are matched in the order they are defined. The first route that 
    matches the request is invoked.
    
  4. 这不起作用。当我请求静态文件时,我得到了我的json 404响应。 sparkjava文档声明:

    with

    我原以为自从我在404端点之前初始化我的静态文件后,我就不会得到404响应了。这个问题很相似,遗憾的是没有回答:https://groups.google.com/forum/#!searchin/sparkjava/static/sparkjava/2SQFmSao2t8/ucfbM-QDCaMJ

2 个答案:

答案 0 :(得分:0)

我的Web应用程序提供静态html文件,它还有json webservice端点。我将我的命名空间分开,以便所有json webservices都以" v1"为前缀。现在,我的json 404匹配" / v1 / *"。当他们尝试请求不存在的json端点时,我得到一个json 404。该应用程序返回html 404。

这比我原来的要好,因为有些情况下我应该返回一个html 404。

答案 1 :(得分:-1)

你为什么要申报这样的路线?只有当它是一个前/后过滤器时才有意义。