gpt4 book ai didi

带有 Swagger 文档的 Grails 3.1.4 项目

转载 作者:行者123 更新时间:2023-12-04 19:57:02 24 4
gpt4 key购买 nike

描述

我正在使用 Grails 3.1.4,但在使用 Swagger Api 记录我的 Controller 类时遇到问题。

grails -version 给我这个输出:

| Grails Version: 3.1.4
| Groovy Version: 2.4.6
| JVM Version: 1.8.0_73

我尝试使用这些资源将 Swagger 集成到项目中:
- https://grails.org/plugin/swaggydoc
- https://rahulsom.github.io/swaggydoc/

根据这些来源,我必须做以下事情:

1。将依赖添加到build.gradle:

compile 'io.swagger:swagger-core:1.5.7'
compile 'io.swagger:swagger-jaxrs:1.5.7'
compile "com.github.rahulsom:swaggydoc-commons:0.24.0"
compile "org.grails.plugins:swaggydoc:0.27.0"

2。将另一个存储库添加到 build.gradle:

`jcenter()`

3。以下列方式注释我的 Controller :

@Api(value = "myValue", description = "this controller does something")
@Path("/myapproot/myDomainClassX")
MyDomainClassXController{
@GET
@Path("/myFunction")
def myFunction(){
render "MyDomainClassXController, myFunction(), did something"
}
}

4。在文件 application.yml 中我添加了:

grails:
mime:
disable:
accept:
header:
userAgents: []

5。上述来源写了一个我没有的Config.groovy,所以不是写:

swaggydoc {
contact = "developer@coer.com"
description = "API description"
title = "My Swagger Doc for my awesome project"
apiVersion = "0.2cents"
}

6。在不存在的 Config.groovy 中,我使用 yml 语法将相同的文本添加到文件 application.yml 中:

swaggydoc:
contact: "developer@coder.com"
description: "API Description"
title: "My Swagger Doc for my awesome project"
apiVersion: "0.2cents"

结果

有效的是:

我正在使用 bootRun 任务运行我的 Grails 应用程序并浏览到 http://localhost:8080/myapproot/myDomainClassX/myFunction 并看到字符串“MyDomainClassXController, myFunction(),在我的浏览器中做了一些事情”。

不起作用的是:

当我浏览到 http://localhost:8080/myapproot/api 时,我收到了“找不到页面 (404)”错误。我希望在这里看到生成文档的 Swagger 注释的魔力。

问题

我在源代码中提到的 Swagger 插件的配置中做错了什么?

最佳答案

如果您在/myapproot/api 上收到 404,请检查您的 UrlMappings.groovy 文件。

要么保留这个默认映射:

"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}

或至少允许

get "/api/$action?"(controller: 'api')

这应该至少能让您使用该 URL 访问 swaggy Controller 。

关于带有 Swagger 文档的 Grails 3.1.4 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38144649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com