gpt4 book ai didi

c# - dotnet 核心 webapi json-api 兼容查询字符串路由

转载 作者:行者123 更新时间:2023-11-30 12:22:34 26 4
gpt4 key购买 nike

我试图从请求的 URL 中获取“status”和“all”键值,但不知道如何构建我的类对象。

我指的 JSON API 规范可以在这里找到: http://jsonapi.org/recommendations/#filtering

// requested url
/api/endpoint?filter[status]=all


// my attempt at model binding
public class FilterParams
{
public Dictionary<string, string> Filter { get; set; }
}

[HttpGet]
public string Get([FromUri] FilterParams filter)
{
// never gets populated...
var filterStatus = filter.Filter["status"];
}

最佳答案

如果您在 .Net Core 上构建 json:api 应用程序,我强烈建议您查看此库:https://github.com/json-api-dotnet/JsonApiDotNetCore

它为您处理所有繁重的工作,对于这个特定示例,(您需要获取过滤器值)解决方案如下所示:

public FooController : JsonApiController<Foo> {
private readonly IQueryAccessor _queryAccessor;
public FooController(IQueryAccessor queryAccessor, /* ... */)
: base(/* ... */) {
_queryAccessor = queryAccessor;
}

[HttpGet]
public override async Task<IActionResult> GetAsync() {
var status = _queryAccessor.GetRequired<string>("status");
// ...
}
}

关于c# - dotnet 核心 webapi json-api 兼容查询字符串路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40561781/

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