襌定 發表於 2025-4-2 23:37:00

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

<h1 id="在实际开发中我们经常会使用第三方工具调用后台接口比如postmanapifox但除了这些工具你还知道哪些方式可以吗">在实际开发中,我们经常会使用第三方工具调用后台接口,比如postman,apifox,但除了这些工具,你还知道哪些方式可以吗?</h1>
<p>以下是几种调用方式的简单例子:</p>
<p>测试接口代码如下:</p>
<pre><code>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
{
        /// &lt;summary&gt;
        /// 测试
        /// &lt;/summary&gt;
       
        /")]
        public class TestController : ControllerBase
        {
               
                public async Task&lt;List&lt;TestModelDto&gt;&gt; GetTestModels( TestModelInput input)
                {
                        var result = new List&lt;TestModelDto&gt;();
                        result.Add(new TestModelDto { Id = 1, Name = "张三" });
                        result.Add(new TestModelDto { Id = 3, Name = "王五" });
                        return await Task.FromResult(result);
                }
        }
}
</code></pre>
<p>可以分别使用以下方式调用接口:</p>
<h2 id="1powershell-正确的-invoke-webrequest-方法">1.PowerShell 正确的 Invoke-WebRequest 方法</h2>
<p>在 PowerShell 里,你应该用 -Headers @{} 代替 -H,并确保 -Body 使用 JSON:<br>
<strong>命令格式:</strong></p>
<pre><code>Invoke-WebRequest -Uri "http://localhost:9000/Api/Test/GetTestModels" `
-Method Post `
-Headers @{ "Content-Type" = "application/json" } `
-Body ('{"Name":"Test","Id":25}') `
-UseBasicParsing
</code></pre>
<p><strong>输出结果:</strong><br>
<img src="https://img2024.cnblogs.com/blog/2212230/202504/2212230-20250402232825335-1907910295.png"></p>
<ul>
<li>注意
<ul>
<li>
<p>-Headers @{} 需要用哈希表 (@{}) 而不是字符串。</p>
</li>
<li>
<p>-Body 需要是字符串格式,建议加 () 确保 PowerShell 解析正确。</p>
</li>
<li>
<p>-UseBasicParsing 避免一些 PowerShell 版本的问题。</p>
</li>
</ul>
</li>
</ul>
<h2 id="2使用-curl在-cmd-里运行">2.使用 curl,在 CMD 里运行</h2>
<p><strong>命令格式:</strong></p>
<pre><code>curl -X POST "http://localhost:9000/Api/Test/GetTestModels" ^
-H "Content-Type: application/json" ^
-d "{\"Name\":\"Test\",\"Id\":25}"
</code></pre>
<p><strong>输出结果:</strong></p>
<p><img src="https://img2024.cnblogs.com/blog/2212230/202504/2212230-20250402233227742-1619265949.png"></p>
<h2 id="3使用-curl在-gitbash-里运行">3.使用 curl,在 gitBash 里运行</h2>
<p><strong>命令格式:</strong></p>
<pre><code>curl -X POST "http://localhost:9000/Api/Test/GetTestModels" \
-H "Content-Type: application/json" \
-d '{"Name":"Test","Id":25}'
</code></pre>
<p><strong>输出结果:</strong></p>
<p><img src="https://img2024.cnblogs.com/blog/2212230/202504/2212230-20250402233400223-217874842.png"></p><br><br>
来源:https://www.cnblogs.com/chenshibao/p/18806964
頁: [1]
查看完整版本: 你所不知道的几种调用接口方式