美文网首页
Ocelot中文文档-不支持

Ocelot中文文档-不支持

作者: loogn | 来源:发表于2018-05-03 11:24 被阅读346次

Ocelot不支持一下几点...

  • 分块编码 - Ocelot将始终获取body大小并返回Content-Length头。 如果这不适合你的场景,只能表示抱歉!
  • 转发host头 - 您发给Ocelot的host头不会转发给下游服务。显然这会打破一切 :(
  • Swagger - 我已经多次看过从Ocelot的ocelot.json构建swagger.json,但它看起来不适合

我有Ocelot就够了。如果您想在Ocelot中使用Swagger,那么您必须生成自己的swagger.json,并在Startup.cs或Program.cs中执行以下操作。 下面的代码示例注册了一个加载您手动生成的swagger.json并将其返回到/swagger/v1/swagger.json的中间件。 然后使用Swashbuckle.AspNetCore注册SwaggerUI中间件。

app.Map("/swagger/v1/swagger.json", b =>
{
    b.Run(async x => {
        var json = File.ReadAllText("swagger.json");
        await x.Response.WriteAsync(json);
    });
});
app.UseSwaggerUI(c =>
{
    c.SwaggerEndpoint("/swagger/v1/swagger.json", "Ocelot");
});

app.UseOcelot().Wait();

我认为Swagger没意义的主要原因是我们已经在ocelot.json中手动编写了我们的定义。如果我们希望针对Ocelot开发的人员能够查看可用的路由,那么可以与他们共享ocelot.json(这应该与访问仓库一样简单)或者使用Ocelot管理API,以便他们可以查询Ocelot的配置。

除此之外,许多人还会配置Ocelot将所有流量例如/products/{everything}代理到产品服务,如果您解析并将其转换为Swagger路径,则不会描述实际可用的内容。另外Ocelot没有有关下游服务可以返回模型的概念,并且连接到上述一个端口可以返回多个模型的问题。Ocelot不知道哪些模块需要使用POST还是PUT,所以会变得混乱,最后当swagger.json在运行时发生变化是,Swashbuckle 包不会重新加载它。Ocelot的配置可以在运行时更改,这样导致Swagger和Ocelot的信息不匹配。除非我推出我自己的Swagger实现。

如果有人想要对Ocelot API 进行简单的测试,我建议使用Postman。甚至可以写一些将ocelot.json映射到postman json规范的东西。但是我不打算这样做。

previous
next

相关文章

  • Ocelot中文文档-不支持

    Ocelot不支持一下几点... 分块编码 - Ocelot将始终获取body大小并返回Content-Lengt...

  • Ocelot中文文档-认证

    为了验证ReRoutes并随后使用Ocelot的任何基于声明的功能,如授权或使用令牌中的值修改请求。 用户必须像往...

  • Ocelot中文文档-授权

    Ocelot支持基于声明的授权。 这意味着如果您有要授权的路由,您可以将以下内容添加到您的ReRoute配置中。 ...

  • Ocelot中文文档-缓存

    目前Ocelot使用CacheManager项目提供了一些非常基本的缓存。这是一个了不起的项目,它解决了很多缓存问...

  • Ocelot中文文档-日志

    目前,Ocelot使用标准的日志记录接口ILoggerFactory/ILogger 。 在IOcelotL...

  • Ocelot中文文档-GraphQL

    好吧!你明白我的意思Ocelot并不直接支持GraphQL,但有这么多人问起它,我想表明整合graphql-dot...

  • Ocelot中文文档-管理

    Ocelot支持在运行时通过一个认证的Http API修改配置。有两种方式对其验证, 使用Ocelot的内置Ide...

  • Ocelot中文文档-Websockets

    Ocelot额外支持代理websockets。这个功能在问题 212中被提出。 为了是Ocelot代理websoc...

  • Ocelot中文文档-跟踪

    Ocelot使用一个杰出的项目Butterfly 提供了跟踪功能。 为了使用跟踪,请阅读Butterfly的文档。...

  • Ocelot中文文档-路由

    Ocelot的主要功能是接管进入的http请求并把它们转发给下游服务。目前是以另一个http请求的形式(将来可能是...

网友评论

      本文标题:Ocelot中文文档-不支持

      本文链接:https://www.haomeiwen.com/subject/bprkrftx.html