用ASP创建Web服务.. NET从现有的API

本文关键字:API NET ASP 创建 Web 服务 | 更新日期: 2023-09-27 18:12:44

我希望从现有的API创建一个web服务。现有的API来自一个单独的Windows程序,该程序允许计算两个以上地点之间的里程。API是用c#编写的。还有不同类型的计算(最短距离,最低成本等)。

我对如何创建一个允许多个位置的RESTFUL web服务感到困惑。在RESTFUL API教程中显示的示例API/books/1/To Kill A Mockingbird/将获得一本书的记录。但如果是多个地点呢?是密苏里州的api/sd/堪萨斯城/伊利诺伊州的芝加哥/威斯康星州的Miluwake吗?它怎么知道我是在计算2个位置还是10个位置?我可以在URL中输入10个位置吗?

用ASP创建Web服务.. NET从现有的API

您不必使用url段来接受参数。您可以使用带有地名的查询字符串参数,例如,用分号分隔,然后在代码中将它们分开。

/api/sd?cities=Kansas City,MO;Chicago,IL;Miluwake,WI

然后在你的代码中使用Request.QueryString["cities"].Split(';');

我认为随着您的路由增长,您可能会遇到其他问题,例如url太长(url大小有限制,据我所知- https://stackoverflow.com/a/1051565/507025)。如果你有一个API可以接受无数的参数,我想你会想要做一些事情,比如发送一个JSON对象与请求,这样API控制器可以处理它。

此外,JSON对象在代码方面可能更容易处理。

试试:https://stackoverflow.com/a/20226220/507025