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
    }

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐