基于Visual studio创建API项目

这篇具有很好参考价值的文章主要介绍了基于Visual studio创建API项目。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

API(英文全称:Application Programming Interface,中文:应用程序编程接口)
为什么要
通过API接口可以与其他软件实现数据相互通信,API这项技术能够提高开发效率。

本文是基于vs2017 .net平台搭建API。希望可以帮助到学习.net API开发的朋友们。

本文创建的API与RESTful API 是类似的。

→→→→→多了不说,少了不唠。进入正题→→→→

创建API项目

文件–新建–项目 打开【添加新项目】窗口,然后选择【ASP.NET Web应用程序(.NET Framework)】,点击确定,如下所示:
基于Visual studio创建API项目,C#,c#
选择空项目,添加文件夹和核心引用:选中【Web API】,点击确定
基于Visual studio创建API项目,C#,c#
创建API完成,目录如下:
基于Visual studio创建API项目,C#,c#
Models、views和Controllers存放三层架构内容(views文件夹在添加文件夹和核心引用时没有选择MVC选项,所以没有创建)
App_Start中WebApiConfig.cs是存放API路由配置的文件

现在创建API 类文件,在Controllers文件夹右键,新建API控制类,创建UserController类。如图:
基于Visual studio创建API项目,C#,c#
继承ApiController,如图:
基于Visual studio创建API项目,C#,c#

讲解:继承ApiController后会实现 四种请求方式 (GET, PUT, POST, DELETE), 按照下列方式映射为 CURD(数据库的增删改查) 操作:

1、POST 用于在服务端新建资源,在指定的URL上创建一个新的对象,将新资源的地址作为响应消息返回;
2、PUT 利用URL 请求用于更新服务端的资源,如果服务端允许,PUT 也可以用于新建一个资源;
3、GET 通过 URL获取服务端资源,进行资源返回
4、DELETE 利用URL删除指定的资源。

做个小例子

在Model中创建一个User类

namespace APITool.Models
{
    public class User
    {
        public int Id { get; set; }

        public string Password { get; set; }

        public string UserName { get; set; }

        public string NickName { get; set; }

        public DateTime LoginTime { get; set; }
    }
}

连接数据库,由于代码量较多文章分两部分写(DataHelper类请点击这里)

  • SQL Server数据库连接信息:
<connectionStrings>
    <add name="APITool.Properties.Settings.SqlServerConnection" connectionString="Data Source=localhsot;Initial Catalog=test;Persist Security Info=True;User ID=sa;Password=sa"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  • Mysql数据库连接信息:
<connectionStrings>
    <add name="APITool.Properties.Settings.MySqlConnection" connectionString="server=localhost;user=root;password=password;database=mydatabase"
      providerName="MySql.Data.MySqlClient" />
  </connectionStrings>
  1. GET方式
c#代码
SqlHelper sqlHelper = new SqlHelper();

// GET api/<controller>
public IHttpActionResult Get()
{

    DataHelper dataHelper = new DataHelper();//数据库操作类
    DataSet dataSet =  dataHelper.GetDataSet(sqlHelper.USERSQL);//连接数据库并返回dataset集合

    List<User> userList = new List<User>();
	//处理集合数据并返回
    foreach (DataRow row in dataSet.Tables[0].Rows)
    {
        User user = new User();
        foreach (var prop in user.GetType().GetProperties())
        {
            if (!row.IsNull(prop.Name))
            {
                prop.SetValue(user, row[prop.Name], null);
            }
        }

        userList.Add(user);
    }

    return Ok(userList);
}

postmain请求:
基于Visual studio创建API项目,C#,c#

  1. 带参数Get请求
c#代码
// GET api/<controller>/5 或者api/<controller>?Id=1
        public List<User> Get(int id)
        {
            List < User > userList = new List<User>();
            DataHelper dataHelper = new DataHelper();//数据库操作类
			
			//sql参数
            DbParameter[] dbParameters = {
                new SqlParameter("Id",SqlDbType.Int){Value = id}
            };
			//连接数据库并返回DataTable 集合
            DataTable dataTable = dataHelper.GetDataSet(sqlHelper.USERWHERESQL, dbParameters);
			//处理集合数据并返回
            foreach (DataRow row in dataTable.Rows)
            {
                User user = new User();
                foreach (var prop in user.GetType().GetProperties())
                {
                    if (!row.IsNull(prop.Name))
                    {
                        prop.SetValue(user, row[prop.Name], null);
                    }
                }

                userList.Add(user);
            }

            return userList;
        }
  • postmain请求①: localhost:51361/api/User?Id=2

基于Visual studio创建API项目,C#,c#

  • postmain请求②: localhost:51361/api/User/2

基于Visual studio创建API项目,C#,c#

3、POST请求

c#代码
// POST api/<controller>
        public IHttpActionResult Post([FromBody]List<User> user)
        {
            string result = "SUCCESS";
            DataHelper dataHelper = new DataHelper();
            for (int i = 0; i < user.Count; i++)
            {
                try
                {
                    DbParameter[] dbParameters = {
                        new SqlParameter("@UserName", SqlDbType.Text) { Value = user[i].UserName },
                        new SqlParameter("@Password", SqlDbType.Text) { Value = user[i].Password },
                        new SqlParameter("@NickName", SqlDbType.Text) { Value = user[i].NickName },
                        new SqlParameter("@LoginTime", SqlDbType.DateTime) { Value = user[i].LoginTime },
                    };

                    dataHelper.ExecuteSql(sqlHelper.INSERT_USER_ID_SQL, dbParameters);
                }
                catch
                {
                    result = "fail";
                }

            }

            return Ok(result);
        }
json请求参函数
[
    {
        "Password":"123456",
        "UserName":"T11",
        "NickName":"T11",
        "LoginTime":"2023-08-25 00:00:00"
    },
    {
        "Password":"123456",
        "UserName":"T12",
        "NickName":"T12",
        "LoginTime":"2023-08-25 00:00:00"
    }
]
  • postman请求

基于Visual studio创建API项目,C#,c#
数据库信息:
基于Visual studio创建API项目,C#,c#
4、DELETE请求

c#代码
// DELETE api/<controller>/5
public IHttpActionResult Delete(int id)
{
    List<User> userList = new List<User>();
    DataHelper dataHelper = new DataHelper();
    DbParameter[] dbParameters = {
        new SqlParameter("Id",SqlDbType.Int){Value = id}
    };

    int count = dataHelper.ExecuteSql(sqlHelper.DELETE_USER_ID_SQL, dbParameters);

    return Ok(count);
}
  • postman请求

基于Visual studio创建API项目,C#,c#
数据库信息:
基于Visual studio创建API项目,C#,c#




补充:

请求数据格式区别:
GET方式,一般采用URL的方式进行传递参数
POST,PUT,DELETE方式,采用body传参,格式一般是JSON。

API请求结果返回码:
200 OK 请求成功

201 Created 请求成功并创建资源

400 Bad Request 请求参数有错误

401 Unauthorized 权限出现问题

403 Forbidden 表示身份认证通过了,但是对服务器请求资源的访问被拒绝

404 Not Found 表示服务器找不到请求的资源

500 Internal Server Error 表示服务器出现错误,极大可能是出现bug

503 Service Unavailable 表示服务器超负载或正停机维护,无法处理请求









以上 end

大鹏一日通风起 扶摇直上九万里*

诸位加油文章来源地址https://www.toymoban.com/news/detail-681407.html

到了这里,关于基于Visual studio创建API项目的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 环境搭建:Visual Studio的安装和创建C++项目

    💡 作者简介:专注于C/C++高性能程序设计和开发,理论与代码实践结合,让世界没有难学的技术。 👉 🎖️ CSDN实力新星,社区专家博主 👉 🔔 专栏介绍:从零到c++精通的学习之路。内容包括C++基础编程、中级编程、高级编程;掌握各个知识点。 👉 🔔 专栏地址:C++从零

    2024年02月12日
    浏览(48)
  • 初学者不会写接口怎么办?微软Visual Studio 2022无脑式API接口创建——Swagger一键导入APIKit快速测试

    目录 VsualStudio2022各版本说明 社区版本具体说明 VisualStudio2022下载选项 VisualStudio2022启动样式 VisualStudio2022图标样式 VisualStudio2022初始内存消耗 创建项目ASP.NET Core项目 具体项目创建 编辑项目名称与项目位置 创建配置 创建API控制器 修改路由配置 配置跨域 准备创建接口 创建【

    2024年02月05日
    浏览(51)
  • 使用Microsoft Visual Studio 2022创建C语言项目并打印Hello World

    安装Visual Studio 安装C++环境 创建新项目 选择C++语言 创建空项目 填入自己的项目名称 新建源文件 9. 添加新项 10. 选择C++文件 将创建的文件名后缀改为.C文件 11. 填入代码 运行调试 12. 输出结果到控制台

    2024年02月13日
    浏览(68)
  • 基于MSTest框架创建一个简单的C#单元测试(Visual Studio 2019版)

    目录 1、环境准备 2、创建一个被测试项目 3、创建单元测试项目 4、执行测试 5、说明   环境: IDE: Visual Studio 2019 单元测试框架:MSTest .NET 版本:.NET Core 3.1 Test.Sdk版本:Microsoft.NET.Test.Sdk 16.9.4 目的: 编写单元测试方法以验证   BankAccount   类的   Debit   方法,至少需要检查

    2023年04月26日
    浏览(82)
  • 【Visual Studio 新手入门指导】包括项目创建、常用快捷键、美化、项目启动、添加文件等多种基础操作,图文详细,准确无误

    本文来自于作者在Visual Studio的使用过程中自己积累经验的总结,主要介绍一些比较实用的技巧,适合新手入门使用。 内容追求细致、有用、基础。 VS的每次运行的是一个一个的项目 (如果有多个项目,则每次执行选定启动项目,后文有所介绍),但是不同项目在一起构成一

    2024年02月08日
    浏览(59)
  • Visual Studio 2019创建 WebService

    使用Visual Studio 2019 创建一个演示的WebService,目的是学会创建一个Web Service(本例中使用的是ASPNET创建项目)。 创建项目,添加WebService接口 1. 创建一个web项目----创建ASP.NET Web APP 2. 输入项目名称,存储位置,解决方案名称 ​  3. 创建一个空白项目(选择空模板) 4. 给项目添加Web服

    2024年02月17日
    浏览(45)
  • 利用Visual Studio 2022 导出目标dll API接口

    操作路径: 指令如下:

    2024年02月12日
    浏览(40)
  • visual studio code 创建 SSH 远程连接

    Developing on Remote Machines using SSH and Visual Studio Code https://code.visualstudio.com/docs/remote/ssh 应用包括但不限于:虚拟机、服务器 步骤说明:前两步不涉及代码(键盘)操作,所以就并在一起了(为什么安装 SSH 服务后没有直接验证?) 安装 OpenSSH | Microsoft Docs https://docs.microsoft.com/zh-cn/

    2024年02月04日
    浏览(54)
  • Visual Studio Connected Services 生成http api 调用代码

    生成的代码将和接口对应的参数、返回值一一对应,本文底层使用的工具为NSwag.exe,其他可替代的方案还有AutoSet.exe。 本文中生成的代码将在编译过程中自动编译,类似grpc生成代码的模式,如果使用AutoSet则需要手动引入代码。 另外也可以使用NSwag对应的vs插件(https://marketpl

    2024年02月03日
    浏览(38)
  • 【Visual Studio 项目管理】Visual Studio小白入门项目管理,十分详细,图文讲解。

    进入启动界面,单击“创建新项目” 选择空项目,单击下一步 进行相应设置 #第一行:由于VS是通过创建项目创建解决方案的,所以第一行输入的是项目名称(也就是次一级的项目结构) #第三行:这里有两种选择:创建新解决方案或者添加到解决方案 #第二行: 注意这个位

    2024年02月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包