gpt4 book ai didi

c# - ASP.net WebAPI Controller 目录/路由

转载 作者:太空宇宙 更新时间:2023-11-03 19:11:50 28 4
gpt4 key购买 nike

我正在尝试做一些类似于本网站建议的事情 https://mathieu.fenniak.net/stop-designing-fragile-web-apis/

提示这是一个更好的url

http://api.fbi.gov/wanted/most

我的问题是如何在 ASP.NET WEBAPI 中做类似的事情。例如,如果我想返回一个将一些数据与另一个表连接起来的特定查询,而不是传递参数,我只需要一个方法 url 调用,它只执行我想要的一个查询。完成此任务的最简单方法是什么?

示例 url 调用:

api/controller/joinresultwithtable2

最佳答案

它不是很漂亮,但您可以设置路由,以便特定路径映射到特定 Controller 和操作。

        config.Routes.MapHttpRoute("query1", "query/query1", new {controller="StockQueries", action="query1"});
config.Routes.MapHttpRoute("query2", "query/query2", new { controller = "StockQueries", action = "query2" });
config.Routes.MapHttpRoute("query3", "query/query3", new { controller = "StockQueries", action = "query3" });

然后有一个看起来像这样的 Controller ,

public class StockQueriesController : ApiController
{
[ActionName("query1")]
public HttpResponseMessage GetQuery1()
{
return new HttpResponseMessage() {Content = new StringContent("Query1")};
}

[ActionName("query2")]
public HttpResponseMessage GetQuery2()
{
return new HttpResponseMessage() { Content = new StringContent("Query1") };
}

[ActionName("query3")]
public HttpResponseMessage GetQuery3()
{
return new HttpResponseMessage() { Content = new StringContent("Query1") };
}
[ActionName("query4")]
public HttpResponseMessage GetQuery4()
{
return new HttpResponseMessage() { Content = new StringContent("Query1") };
}
}

关于c# - ASP.net WebAPI Controller 目录/路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20060249/

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