在ASP.net中设置和API(URL问题?)

时间:2019-02-12 22:07:17

标签: c# asp.net ajax asp.net-mvc

现在,我意识到这个问题可能会被否决,因为它并不是真正的直接问题。我对C#和JavaScript非常有信心...因此,我决定最终学习ASP.net(.net框架)。我了解API和AJAX调用的作用,例如处理数据和启动API函数以检索数据。但是,如何在一个项目中将两者联系在一起?

这是WEBAPI.config

 namespace SignalRDbUpdates
 {
   public static class WebApiConfig
   {
    public static void Register(HttpConfiguration config)
    {
        config.MapHttpAttributeRoutes();


        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }
 }
}

这是我尚未设置任何API的API,只是想知道如何开始对此API进行AJAX调用...也许现在只是将字符串返回到警报框即可。

namespace DotNetFramework.Controllers.API
{
public class TestAPI : ApiController
{
    // GET api/<controller>
    public IEnumerable<string> Get()
    {
        return new string[] { "value1", "value2" };
    }

    // GET api/<controller>/5
    public string Get(int id)
    {
        return "value";
    }

    // POST api/<controller>
    public void Post([FromBody]string value)
    {
    }

    // PUT api/<controller>/5
    public void Put(int id, [FromBody]string value)
    {
    }

    // DELETE api/<controller>/5
    public void Delete(int id)
    {
    }
}
}

这是AJAX调用,URL发布使我感到困惑,并且也希望扩展AJAX

$.ajax({
               method: 'POST',
               url: '?',
               success: function()
               {
                   alert('Working');
                },
                error: function()
                {
                    alert('Error');
                }
            });

总而言之,我想知道如何将API与AJAX结合使用实际上在调用和发送数据以及从API检索和获取数据的基本层次上如何工作。 URL部分是我最困惑的地方。

1 个答案:

答案 0 :(得分:0)

如果您查看脚手架的代码,尤其是注释的项目,它应该可以为您提供所需的内容。

例如

 // GET api/<controller>
 public IEnumerable<string> Get()

这意味着打到该端点,您的URL:/api/teSTaPi(故意显示大小写无关紧要)用GET。脚手架注释中的Controller名称= <controller>(又名“占位符”),在这种情况下为TestAPI(您的控制器类名称)。

  • 命名约定TestController,因此您可以使用/api/test/

在Web API中,方法和参数的默认名称(或没有默认名称)将映射到协议(GETPOST等)和特定的方法调用。

REF:Routing in ASP.NET Web API

Hth ...