创建web api项目时各种模板之间的差异

时间:2016-01-06 01:53:53

标签: asp.net asp.net-mvc-4 asp.net-web-api asp.net-web-api2

我正在使用Visual Studio 2013创建一个asp.net web api应用程序。有几种方法可以用来创建项目

  1. File > New > Project > Web > Visual Studio 2012 > Asp.net MVC 4 web application > Web Api
  2. File > New > Project > Visual C# > Asp.net web application > Web Api
  3. File > New > Project > Web > Asp.net web application > Empty
  4. File > New > Project > Web > Asp.net web application > Web Api
  5. 除了选项3之外,所有其他选项都添加了额外的东西Bootstrap,字体(glyphicons),JQuery等。

    我只想从web api返回数据。哪个是创建解决方案的正确选项?为什么当它无法返回视图时,它们会向web api添加额外的东西?

3 个答案:

答案 0 :(得分:1)

如果您不想要所有脚本和样式内容,则需要使用空模板。

  

档案>新项目> Visual C#>网络> ASP.NET Web应用程序

New Project Screenshot

Template Selection Screenshot

警告:模板非常稀疏。你得到的只是一些空文件夹和 WebApiConfig.cs

答案 1 :(得分:0)

要为Web API选择选项4,顺便说一下,Web API只能返回XML或Json格式的数据,希望这些信息对您有所帮助,谢谢

Web API代码的示例非常简单,如下所示

public class a1Controller:ApiController     {         private gigadeEntities1 db = new gigadeEntities1();

    // GET: api/a1
    public IQueryable<a1> Geta1()
    {
        return db.a1;
    }

    // GET: api/a1/5
    [ResponseType(typeof(a1))]
    public IHttpActionResult Geta1(int id)
    {
        a1 a1 = db.a1.Find(id);
        if (a1 == null)
        {
            return NotFound();
        }

        return Ok(a1);
    }

}

如下代码 1.你可以看到图2,Web API必须包含在MVC结构中,它可以通过URL返回纯数据(xml或json) 2.图3,公共类ValuesController:ApiController&lt; - 使用ApiController而不是Controller

Android Developer OpenGL tutorial

enter image description here

enter image description here

答案 2 :(得分:0)

我认为#4的设计不好。它称为Web api,但其中包含的文件仅适用于API服务器不需要的Web应用程序(脚本,字体等)。

似乎人们建议使用#2(空)。这确实避免了包含不需要的文件,但这非常少。我一直在努力寻找如何向其中添加Web api功能。 Web api模板包含许多依赖项和源文件,这些依赖项和源文件可能有用也可能没有用。我不知道我该添加哪些,我应该忽略哪些。

这两个选项似乎是:

  1. 使用“清空”并添加所需的内容。但是,很难知道一个人需要什么。
  2. 使用Web API并删除不需要/不使用的内容,或者将所有垃圾都留在那里。

最近两天,我在使用Empty的路上度过了,但是没有用。我将重新开始使用Web API模板。