【问题标题】:Using dropwizard to make RESTful service, the URL can contain a space使用dropwizard做RESTful服务,URL可以包含空格
【发布时间】:2016-05-23 17:34:38
【问题描述】:

我有一些代码为端点创建@Path

@Path("/productLine:[a-zA-Z]{1,25}}/cat")

我想在 URL 中允许两个词的产品线。我试过这个

@Path("productLine:[a-zA-Z ]{1,25}}/cat")

但是客户端返回一个

找不到 HTTP 404

当我使用包含两个单词的请求时,如下所示:

/services/New Host/cat

【问题讨论】:

  • 空格不是路径中的有效字符。请参阅stackoverflow.com/questions/4669692/… - 在服务器级别,它表示为%20,我猜这也是您必须在@Path() 中指定的内容。浏览器通常会显示一个空格,因为它对用户来说更好。但他们应该在后台发送%20

标签: java dropwizard


【解决方案1】:

你可以试试:

@Path("productLine:[a-zA-Z\x0B]{1,25}}/cat")

【讨论】:

    【解决方案2】:

    这行得通:

    @Path("productLine:[a-zA-Z%20]{1,25}}/cat")
    

    %20 是空间的 HTTP 编码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多