在实际开发中,我们经常会使用第三方工具调用后台接口,比如postman,apifox,但除了这些工具,你还知道哪些方式可以吗?
以下是几种调用方式的简单例子:
测试接口代码如下:
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Spring.Objects.Factory.Attributes;
using Newtonsoft.Json;
using ChenShiBao.AspNetCore7._0.Model.Tests;
namespace ChenShiBao.AspNetCore7._0.Controllers
{
/// <summary>
/// 测试
/// </summary>
[ApiController]
[Route("Api/[controller]/[action]")]
public class TestController : ControllerBase
{
[HttpPost]
public async Task<List<TestModelDto>> GetTestModels([FromBody] TestModelInput input)
{
var result = new List<TestModelDto>();
result.Add(new TestModelDto { Id = 1, Name = "张三" });
result.Add(new TestModelDto { Id = 3, Name = "王五" });
return await Task.FromResult(result);
}
}
}
可以分别使用以下方式调用接口:
1.PowerShell 正确的 Invoke-WebRequest 方法
在 PowerShell 里,你应该用 -Headers @{} 代替 -H,并确保 -Body 使用 JSON:
命令格式:
Invoke-WebRequest -Uri "http://localhost:9000/Api/Test/GetTestModels" `
-Method Post `
-Headers @{ "Content-Type" = "application/json" } `
-Body ('{"Name":"Test","Id":25}') `
-UseBasicParsing
输出结果:
- 注意
-
-Headers @{} 需要用哈希表 (@{}) 而不是字符串。
-
-Body 需要是字符串格式,建议加 () 确保 PowerShell 解析正确。
-
-UseBasicParsing 避免一些 PowerShell 版本的问题。
-
2.使用 curl,在 CMD 里运行
命令格式:
curl -X POST "http://localhost:9000/Api/Test/GetTestModels" ^
-H "Content-Type: application/json" ^
-d "{\"Name\":\"Test\",\"Id\":25}"
输出结果:
3.使用 curl,在 gitBash 里运行
命令格式:
curl -X POST "http://localhost:9000/Api/Test/GetTestModels" \
-H "Content-Type: application/json" \
-d '{"Name":"Test","Id":25}'
输出结果:
来源链接:https://www.cnblogs.com/chenshibao/p/18806964
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容