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
}
更多推荐
已为社区贡献1条内容
所有评论(0)