[Route("api/[controller]")] api表示端口后面得先输入api,[controller]表示当前控制器文件.cs文件名除了controller.cs的部分
即如果文件名为appleController.cs则默认的路由为http:aaa.bbb.ccc.ddd:eeee/api/apple。api改成别的都可以。
Get | 地址 | 备注 |
[HttpGet] | /api/apple | |
[HttpGet("add")] | /api/apple/add | |
[HttpGet("add/{id}")] | /api/apple/add/4396 | 4396可以为其他值,当做参数传给方法 |
[HttpGet("add/id={id}")] | /api/apple/add/id=4396 | 4396可以为其他值,当做参数传给方法 |
[HttpGet("add/{id=4396}")] | /api/apple/add | 如果不传入参数,id默认为4396,id为参数 |
[HttpGet("add/{id?}")] | /api/apple/add | 在add后面可以输入也可以不输入,不输入则参数默认为0 |
[HttpGet("add/{name}/id")] | /api/apple/add/zhangsan/id | zhangsan会作为参数传给方法 |
除了使用上述隐式方式传递参数以外,还可以明确使用参数传递
1.传递一个参数
[HttpGet("get2")]
public string get2(string name)
{
return "name is:" + name;
}
https://localhost:44375/api/web/get2?name=111
2.传递2个参数
[HttpGet("get3")]
public string get3(string name, string value)
{
return "name is:" + name + "value is:" + value;
}
https://localhost:44375/api/web/get3?name=111&value=222
以上2种方式,是post和get都可以用的。但是浏览器默认使用的get,无法使用post方式。
所以我们用postman工具来测试post,直接百度postman下载客户端。
安装完postman后,使用前必须把ssl打开
不然测试会不成功
下面就来测试post
1.传递一个参数
[HttpPost("post1")]
public string post1(string str1)
{
return "接收到的参数是" + str1;
}
2.传递2个参数
[HttpPost("post2")]
public string post2(string str1, string str2)
{
return "str1:" + str1 + "str2:" + str2;
}
3.使用http body传递信息
[HttpPost("post3")]
public string post3([FromBody]string str1)
{
return "接收到的参数是" + str1;
}
如果body里面有",则需要转义,变成\"