C#,WebApi接口开发

1.新建Web项目

2.新建Controller类继承ApiController

3.接口方法

4.运行,用postman测试接口

详细过程

1.新建Asp.net Web 应用程序,选择Web Api

2.在Controllers文件下新建一个TestController类继承ApiController

 

3.在TestController里面写方法

    public class TestController:ApiController
    {
        [HttpGet]
        public int GetAdd(int a,int b)
        {
            return a+b;
        }

        [HttpPost]
        public int PostAdd(int a, int b)
        {
            return a - b;
        }

        [HttpPut]
        public int PutAdd(int a, int b)
        {
            return a*b;
        }

        [HttpDelete]
        public int DeleteAdd(int a, int b)
        {
            return a / b;
        }
    }

 4.运行测试

    postMan测试

 

   C#调用api接口测试 

 

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                int a = int.Parse(textBox1.Text);
                int b = int.Parse(textBox2.Text);
                string ss = "0";
                switch (comboBox1.Text)
                {
                    case "GET":
                        ss = HttpGet(txtURL.Text + "?a=" + a + "&" + "b=" + b);
                        break;
                    case "POST":
                        ss = HttpPost(txtURL.Text + "?a=" + a + "&" + "b=" + b, "");
                        break;
                    case "PUT":
                        ss = HttpPut(txtURL.Text + "?a=" + a + "&" + "b=" + b, "");
                        break;
                    case "DELETE":
                        ss = HttpDelete(txtURL.Text + "?a=" + a + "&" + "b=" + b, "");
                        break;
                    default:
                        break;
                }
                MessageBox.Show(ss);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
         
        }

        #region WebRequest方式
        public static string HttpPost(string url, string body)
        {
            //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            Encoding encoding = Encoding.UTF8;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.Accept = "text/html, application/xhtml+xml, */*";
            request.ContentType = "application/json";

            byte[] buffer = encoding.GetBytes(body);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                return reader.ReadToEnd();
            }
        }
        public static string HttpGet(string url)
        {
            //ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
            Encoding encoding = Encoding.UTF8;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "GET";
            request.Accept = "text/html, application/xhtml+xml, */*";
            request.ContentType = "application/json";

            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                return reader.ReadToEnd();
            }
        }
        public static string HttpPut(string url,string json)
        {
            Encoding encoding = Encoding.UTF8;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "PUT";
            request.Accept = "text/html, application/xhtml+xml, */*";
            request.ContentType = "application/json";

            byte[] buffer = encoding.GetBytes(json);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8))
            {
                return reader.ReadToEnd();
            }
        }
        public static string HttpDelete(string url, string json)
        {
            return "";
        }
        #endregion

        #region HttpClient 方式
        protected async void Button3_Click(object sender, EventArgs e)
        {
            HttpClient client = new HttpClient();
            //由HttpClient发出Delete Method
            HttpResponseMessage response = await client.DeleteAsync("http://localhost:41558/api/Demo" + "/1");
            if (response.IsSuccessStatusCode)
                MessageBox.Show("成功");
        }

     

        protected void Button4_Click(object sender, EventArgs e)
        {

        }
        #endregion
    }

  • 6
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!对于C# Web API接口开发,有以下一些常见的步骤和注意事项: 1. 创建一个新的C# Web API项目:使用Visual Studio或其他适合的IDE,创建一个新的C# Web API项目。 2. 定义和设计接口:根据您的需求,确定接口的功能和数据结构。设计良好的接口能够提高代码的可读性和可维护性。 3. 实现控制器:在项目中创建控制器类,控制器类负责处理HTTP请求并返回响应。您可以使用ASP.NET Core框架中的[ApiController]特性来简化一些操作。 4. 定义路由:使用ASP.NET Core框架中的路由特性(如[HttpGet]、[HttpPost]等)来定义API的路由地址和请求方法。 5. 实现业务逻辑:在控制器中实现具体的业务逻辑,可以调用其他服务、数据库或外部API来完成相关操作。 6. 处理数据验证和错误处理:在API接口中进行输入数据的验证,并合理处理可能发生的错误,返回合适的HTTP状态码和错误信息。 7. 编写单元测试:编写单元测试来验证API接口的正确性和稳定性,可以使用xUnit、NUnit等测试框架进行单元测试。 8. 部署和发布:将API应用程序部署到适当的环境中,可以是本地IIS、云服务(如Azure、AWS)等。 需要注意的是,C# Web API开发中应该考虑安全性、性能和可扩展性等方面的需求,同时也要遵循良好的编码规范和最佳实践来提高代码质量。 希望以上信息对您有所帮助!如果您还有其他问题,请继续提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值