iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >基于Visual studio创建API项目
  • 725
分享到

基于Visual studio创建API项目

c# 2023-08-30 10:08:39 725人浏览 独家记忆
摘要

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

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

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

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

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

创建API项目

文件–新建–项目 打开【添加新项目】窗口,然后选择【asp.net WEB应用程序(.NET Framework)】,点击确定,如下所示:
在这里插入图片描述
选择空项目,添加文件夹和核心引用:选中【Web API】,点击确定
在这里插入图片描述
创建API完成,目录如下:
在这里插入图片描述
Models、views和Controllers存放三层架构内容(views文件夹在添加文件夹和核心引用时没有选择mvc选项,所以没有创建)
App_Start中webapiConfig.cs是存放API路由配置的文件

现在创建API 类文件,在Controllers文件夹右键,新建API控制类,创建UserController类。如图:
在这里插入图片描述
继承ApiController,如图:
在这里插入图片描述

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

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类请点击这里

<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/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请求:
![在这里插入图片描述](https://img-blog.csdnimg.cn/82639fdafe5746f988442734c4a62d1f.png

  1. 带参数Get请求

c#代码

// GET api//5 或者api/?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

在这里插入图片描述

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

在这里插入图片描述

POST请求

c#代码

// POST api/        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请求

在这里插入图片描述
数据库信息:
在这里插入图片描述
4、DELETE请求

c#代码

// DELETE api//5public 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请求

在这里插入图片描述
数据库信息:
在这里插入图片描述




补充:

请求数据格式区别:
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://blog.csdn.net/qqq1994_0810/article/details/132477709

--结束END--

本文标题: 基于Visual studio创建API项目

本文链接: https://www.lsjlt.com/news/382534.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于Visual studio创建API项目
    API(英文全称:Application Programming Interface,中文:应用程序编程接口) 为什么要 通过API接口可以与其他软件实现数据相互通信,API这项技术能够提高开发效率。 本文是基于vs2017 .net平台搭...
    99+
    2023-08-30
    c#
  • Visual Studio创建WPF项目
    一、简介 WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架,属于.NET Framework 3.0的一部分。它...
    99+
    2022-11-13
  • Visual Studio怎么创建C/C++项目
    这篇文章主要讲解了“Visual Studio怎么创建C/C++项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Visual Studio怎么创建C/C++项目”吧!1...
    99+
    2023-07-05
  • 怎样创建Visual C++项目
    本篇内容主要讲解“怎样创建Visual C++项目”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎样创建Visual C++项目”吧!它将指针包装成了类,并且重载了反引用(dereference...
    99+
    2023-06-17
  • Android Studio中创建java项目
    创建普通的android工程 创建一个module module类型选择java library 填写libary和class的名字 生成的工程如图所示 然后点击Run --- Edit Configurations... 选...
    99+
    2023-10-04
    java
  • android studio怎么创建C++项目
    这篇文章主要介绍“android studio怎么创建C++项目”,在日常操作中,相信很多人在android studio怎么创建C++项目问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”a...
    99+
    2023-07-02
  • Android Studio创建Android项目教程
    Android Studio创建Android项目教程 在本教程中,我们将学习如何使用Android Studio创建一个基本的Android项目。我们将了解如何设置开发环境并编写一些简单的源代码。 ...
    99+
    2023-09-26
    android android studio gitee Android
  • 基于visual studio code + react 开发环境搭建步骤
    本篇内容主要讲解“基于visual studio code + react 开发环境搭建步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于visual studio code + react...
    99+
    2023-06-20
  • 基于visual studio code + react 开发环境搭建过程
    开发环境 windows 开发工具 visual studio code node 安装和 npm windows 安装node 可以直接在 node官网 直接下载直接当作普通软件安...
    99+
    2022-11-12
  • Android Studio创建第一个Flutter项目
    一、创建Flutter项目 1.1 file->New–>New Flutter Project 1.2 配置Flutter SDK Path 1.3 填写项目相关信息 二、android st...
    99+
    2023-09-11
    flutter android studio android
  • 基于visual studio code+react开发环境搭建的方法
    这篇“基于visual studio code+react开发环境搭建的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基...
    99+
    2023-06-05
  • Android Studio 2022.1.1创建项目的Gradle配置
    今天使用Android Studio建了一个新项目,遇到了不少问题,网上也找了不少解决方案都无效(可能Studio版本、项目版本等都不一样,解决办法也不一样吧),最后问题解决,总结梳理以下几点: 1.版本确认 Android Studi...
    99+
    2023-09-08
    android studio android gradle
  • springboot-curd基于mybatis项目搭建
    项目结构: pom.xml文件:    <parent>         <groupId>org.springframework.boot&l...
    99+
    2022-11-13
  • android studio创建新项目出错怎么处理
    当Android Studio创建新项目时出现错误,可以尝试以下解决方法:1. 清除缓存:点击Android Studio菜单栏的"...
    99+
    2023-09-28
    android
  • Android Studio 2022.1.1创建项目的Gradle配置问题
    目录1.版本确认 2.遇到的问题3.解决办法1)检查各版本配置是否正确2)网络配置3)关闭Android Studio代理4)配置本地Gradle4.其他配置1)修改And...
    99+
    2023-05-16
    Android Studio Gradle配置 Android Studio 2022.1.1创建项目
  • android studio创建新项目出错如何解决
    如果在创建新项目时遇到错误,可以尝试以下解决方法:1. 检查Android Studio版本:确保使用的是最新版本的Android ...
    99+
    2023-08-31
    android
  • AIDL文件怎么在Android Studio项目中创建
    AIDL文件怎么在Android Studio项目中创建?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在Android系统中,跨进程通信是非常普遍的事情,它用到了Binde...
    99+
    2023-05-31
    android studio aidl
  • Android从0到完整项目(1)使用Android studio 创建项目详解
    使用Android Studio 创建Android项目,分享给大家(1) 说明:还有一部分人在坚持使用 Eclipse ,建议抓紧换掉。使用AS 可能会刚开始因为不熟悉而有一定的胆怯心理,不过当你熟悉你会发现 原来Android 开发其实...
    99+
    2023-05-30
    android studio 项目
  • 怎么使用SAP iRPA Studio创建的本地项目
    本篇内容介绍了“怎么使用SAP iRPA Studio创建的本地项目”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!这个场景里涉及到的三个组件...
    99+
    2023-06-04
  • ASP.Net Core MVC基础系列之项目创建
    一 : 系列教程环境介绍 1: 操作系统, Windows 10 专业版 64位 (版本号: 1809) 2: IDE使用Visual Studio 2017专业版 (版本号: 15...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作