你所不知道的几种调用接口方式

在实际开发中,我们经常会使用第三方工具调用后台接口,比如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

© 版权声明
THE END
支持一下吧
点赞10 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容