在现有的API中创建ASP.NET的Web服务。
在现有的API中创建ASP.NET的Web服务。
我希望从现有的API创建一个网络服务。现有的API来自一个独立的Windows程序,允许计算2个或多个地点之间的里程。该API使用C#编写。还有不同类型的计算(最短距离、最低成本等)。\n我对如何创建一个允许多个地点的RESTful网络服务感到困惑。RESTful API教程中的示例显示api/books/1/To Kill A Mockingbird/将获取一本书的记录。但是对于多个地点,应该如何处理呢?是api/sd/Kansas City,MO/Chicago,IL/Miluwake,WI吗?它如何知道我是要获取2个地点的计算结果还是10个地点的计算结果?我能否在URL中编写10个地点的计算请求?
文章标题:在ASP.NET中从现有API创建Web服务的原因和解决方法
在开发过程中,当我们的路由逐渐增多时,可能会遇到一些问题,例如URL过长的情况。据我所知,URL的长度是有限制的。如果我们要创建一个可以接受无数参数的API,那么最好的做法是通过发送一个JSON对象的请求,这样API控制器可以更好地处理它。
此外,从代码角度来看,使用JSON对象可能更加简单。可以参考以下链接:https://stackoverflow.com/a/20226220/507025
根据https://stackoverflow.com/a/1051565/507025的解释,URL的长度是有限制的。在API的设计中,如果我们需要接受大量参数,使用URL传递参数的方式可能会导致URL过长的问题。为了解决这个问题,我们可以考虑将参数封装成一个JSON对象,并通过请求发送给API控制器进行处理。
使用JSON对象进行请求处理的好处是,代码更加简洁和易于处理。我们可以将所有参数封装在一个JSON对象中,而不需要通过URL的方式一个个传递参数。这样不仅可以避免URL过长的问题,还能更好地管理和处理参数。
因此,在ASP.NET中创建Web服务时,如果遇到URL过长的问题,我们可以考虑使用JSON对象发送请求,并在API控制器中进行相应的处理。这样既能解决URL过长的问题,又能使代码更加简单和易于维护。
在ASP.NET中创建Web服务时,有时需要使用现有的API。然而,有时会遇到问题,需要找到问题的原因并提供解决方法。
问题的原因是在接受参数时不必使用url段。可以使用查询字符串参数来传递参数。例如,使用以分号分隔的地点名称,然后在代码中分割它们。
解决方法是在代码中使用Request.QueryString["cities"].Split(';');
。这样可以将查询字符串参数分割为一个地点名称的数组,以便在代码中使用。
以下是解决问题的代码示例:
string cities = Request.QueryString["cities"]; string[] cityArray = cities.Split(';');
在上述代码中,首先从查询字符串参数中获取地点名称的字符串。然后,使用分号作为分隔符将字符串分割为一个地点名称的数组。
通过这种方法,可以轻松地处理来自现有API的查询字符串参数,并在代码中使用它们。这种方法可以帮助开发人员更好地利用现有API创建ASP.NET Web服务。