ECMA 262 正则表达式“^/”与输入字符串“https://domain.herokuapp.com”不匹配

Posted

技术标签:

【中文标题】ECMA 262 正则表达式“^/”与输入字符串“https://domain.herokuapp.com”不匹配【英文标题】:ECMA 262 regex "^/" does not match input string "https://domain.herokuapp.com" 【发布时间】:2016-08-08 06:56:54 【问题描述】:

我已将我的基于 play 2.4 API 的项目部署到 heroku。在生产中,可以在/swagger 上看到 api,但它也显示了一些错误。在浏览错误时,它会显示 json。


    schemaValidationMessages: [
        level: "error",
        domain: "validation",
        keyword: "pattern",
        message: "ECMA 262 regex "^/" does not match input string "https://domain.herokuapp.com "",
        schema: 
            loadingURI: "#",
            pointer: "/properties/basePath"
        ,
        instance: 
            pointer: "/basePath"
        
    ]

我添加的依赖是

  "io.swagger" %% "swagger-play2" % "1.5.2"

根据 play prod 配置,我的 procfile 中有 overrided swagger 基本路径。

-Dswagger.api.basepath=https://domain.herokuapp.com

错误的原因可能是什么?如何消除它?

谢谢

【问题讨论】:

“域”是您的 Heroku 应用程序的名称,还是您刚刚将您的应用程序名称替换为“域”? 是的,我已将 domain 替换为我的 heroku 应用名称 【参考方案1】:

我认为这是主机,basePath 应该是“/”。至少这为我解决了它

  "host" : "https://domain.herokuapp.com",
  "basePath" : "/",

【讨论】:

以上是关于ECMA 262 正则表达式“^/”与输入字符串“https://domain.herokuapp.com”不匹配的主要内容,如果未能解决你的问题,请参考以下文章

关于JavaScript

ECMA-262-v6 中的“符号”类型有啥意义?

TC39ECMA-262ECMAScript 究竟是什么关系?

js版本规范的表示:ES6 == ES 6 == ECMAScript 6 == ECMA-262 6

关于 ECMAScript 6

Map和Set