如何解决带有Flurl HTTP的JSON:API规范过滤器参数
我们在API上使用JSON:API规范。当前在使用C#中的Flurl将过滤器参数格式化为规范时遇到问题。
示例:
var url = await Helpers.GetAPIPath()
.AppendPathSegment("orders")
.WithOAuthBearerToken(Helpers.GetAPIToken())
.SetQueryParams(new {
filters = "[work_orders]=true,[status]=pending_approval",include = "shipping-address,inventory-items.part"
}).GetAsync();
这会产生/orders?filters[work_orders]=true,[status]=pending_approval&include=shipping-address,inventory-items.part
以下是带有多个过滤器https://jsonapi.org/recommendations/#filtering
的JSON:API请求的文档如何为JSON:API规范构造类似于filter[work_orders]=true,filter[status]=pending_approval
的过滤器?
非常感谢您的帮助!
解决方法
此代码段能够实现正确的过滤参数。不知道是否有更清洁的方法来实现此目的,但到目前为止,它仍然有效!
var orderResponse = await Helpers.GetAPIPath()
.AppendPathSegment("orders")
.WithOAuthBearerToken(Helpers.GetAPIToken())
.SetQueryParam("filter[work_orders]=true")
.SetQueryParam("filter[status]=pending_approval")
.SetQueryParams(new {
include = "shipping-address,inventory-items.part",}).GetAsync();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。