微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Microsoft.AspNetCore.OData:服务文档的相对@odata.context 链接

如何解决Microsoft.AspNetCore.OData:服务文档的相对@odata.context 链接

有没有办法控制自动生成@odata.context-URL 是如何由服务文档处理控制器构建的——而不必用自定义实现覆盖它?

当前代码创建了一个自定义构造的)EdmModel,它作为参数传递给 routeBuilder.MapODataServiceRoute。访问 / 时,服务文档由 Microsoft.AspNetCore.OData 库自动创建,带有指向元数据文档的 @odata.context 链接。在运行 IIS 托管的服务(从而接收完整的请求 URL)时,自动生成的上下文 URL 是正确的。但是,一旦我们尝试将它放入反向代理后面的容器中(显然),路径的某些部分就会丢失,因为 ASP.NET Core 服务由反向代理使用新的 http 请求调用。仅仅返回这个 @odata.context 当然是不正确的。

现在,OData 允许使用相对 URL 而不是绝对的,这非常适合。但是我如何告诉 Microsoft.AspNetCore.OData 创建这些?

对于所有其他调用(实体集、id 的单个实体、函数调用),无论如何我都有自定义控制器,我可以在那里编写相对 URL。但我希望我也可以避免自己编写服务文档。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。