我在一个嵌入zuul的Spring引导应用程序后面有几个微服务,让我们称之为“网关”。
这是我的配置文件:
zuul:
prefix: /api
routes:
api-login:
path: /login/**
url: http://localhost:8070/the-login/
api-other:
...
我想在网关应用程序中显示我的每项服务的文档,因此我创建了以下内容:
@Component
@Primary
@EnableAutoConfiguration
public class SwaggerDocumentationController implements SwaggerResourcesProvider{
@Override
public List<SwaggerResource> get() {
List<SwaggerResource> resources = new ArrayList<SwaggerResource>();
resources.add(swaggerResource("login-service", "/api/login/api-docs", "2.0"));
...
return resources;
}
private SwaggerResource swaggerResource(String name, String location, String version) {
SwaggerResource swaggerResource = new SwaggerResource();
swaggerResource.setName(name);
swaggerResource.setLocation(location);
swaggerResource.setSwaggerVersion(version);
return swaggerResource;
}
}
它工作得非常好:每次用户转到/gateway/api/login,它都会被重定向到我的微服务,也就是/thelogin/。此外,当用户转到/gateway/login/swagger用户界面时。html他们可以查看文档。
问题在于,当用户尝试从swagger ui文档页面获取api时,他们会得到:
{
"timestamp": "2018-05-12T15:35:38.840+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/the-login/the-login/LoginTest"
}
如你所见,zuul在路径上又增加了 /the-login!这是一个昂首阔步的错误,还是我做错了什么?
这就是为什么the-log
被追加了两次(一次来自base url,一次来自config)。这可能是swagger ui中的一个错误。
我尝试了一种变通方法,效果很好
从应用程序中删除/删除登录名。yml
zuul:
prefix: /api
routes:
api-login:
path: /login/**
url: http://localhost:8070/
api-other:
现在不会加载swagger资源,所以需要修改swagger资源路径。
在swagger资源中添加登录
resources.add(swaggerResource("login-service", "/api/login/the-login/api-docs", "2.0"));
我正在尝试将Gradle(1.4)添加到一个现有的项目中,该项目有多个测试套件。位于中的标准单元测试成功运行,但我在设置任务以运行位于中的JUnit测试时遇到了麻烦。 当我运行时,对于中的类,我遇到了几个错误。这使我认为依赖项设置不正确。如何设置以便它运行我的JUnit集成测试? Build.Gradle 细节:1.4级 解决方案:我没有为集成测试源集设置编译类路径(参见下面)。在我的I代码中,我
问题内容: 输入文件: python代码: 问题: 如您所见,输出在每个项目之间都有多余的行。 如何预防呢? 问题答案: 追加一个换行符,并且输入行已经以换行符结尾。 一个标准的解决方案是逐字输出输入行: PS :对于Python 3(或具有打印功能的Python 2),abaront的解决方案是最简单的解决方案。
将数据写入字符串生成器的逻辑,在由于append(“\n”)而迭代最后一条记录之后,将添加一个我不需要的新空行。
问题内容: 它会生成文件,每行都有一个额外的文件,如下所示: 而不是预期的: 为什么会发生这种情况,或者这实际上是预期的行为? 注意: - Python 2或3可能会发生此现象。 问题答案: Python 3: 如YiboYang所述, 如CoDEmanX的评论所述, Python 2: 在Windows上,在将文件传递到或之前,始终以二进制模式(或)打开文件。 尽管该文件是文本文件,但是所涉及的
我可以添加流或额外的元素,像这样: 我可以边走边添加新的东西,比如: 但这很难看,因为是静态的。如果是一个实例方法,那么上面的示例将更容易阅读: 而且 2)无论如何,有没有更好的方法?
问题内容: 我有这两个课(表) 还有这个: 运行此代码后,在数据库(student_course)中创建了一个额外的表,现在我想知道如何在该表中添加额外的字段,例如(Grade,Date和…(我的意思是student_course表)),我看到了一些解决方案,但我不喜欢它们,而且我对它们有一些问题: 第一个样品 问题答案: 如果在链接表(STUDENT_COURSE)上添加额外的字段,则必须根据s