C#Web API-仅使用ID发布

C#Web API-仅使用ID发布,c#,asp.net-web-api,httpclient,C#,Asp.net Web Api,Httpclient,我有一个克隆记录的端点,但要做到这一点,我只需要使用Id。因为我只需要使用Id,所以我编写了此端点: [HttpPost] [Route("test/clone/{id}")] [SwaggerResponse(HttpStatusCode.OK, description: "Clone an existing record", type: typeof(int))] public async Task<IHttpActionResult> Clone(int id) { v

我有一个克隆记录的端点,但要做到这一点,我只需要使用Id。因为我只需要使用Id,所以我编写了此端点:

[HttpPost]
[Route("test/clone/{id}")]
[SwaggerResponse(HttpStatusCode.OK, description: "Clone an existing record", type: typeof(int))]
public async Task<IHttpActionResult> Clone(int id)
{
    var newId = _service.DoSomething(id);
    return Ok(newId);
}
[HttpPost]
[路由(“测试/克隆/{id}”)]
[SwaggerResponse(HttpStatusCode.OK,描述:“克隆现有记录”,类型:typeof(int))]
公共异步任务克隆(int-id)
{
var newId=_service.DoSomething(id);
返回Ok(newId);
}
然后我想在测试中调用此端点,但我不知道如何编写:

 var result =
            await WebServer.HttpClient.PostAsync($"test/clone/{id}", // WHAT GOES HERE??) 

  var newId = await result.Content.ReadAsAsync<int>();
var结果=
等待WebServer.HttpClient.PostAsync($“test/clone/{id}”,//这里是什么??)
var newId=wait result.Content.ReadAsAsync();

有人知道我如何使用HttpClient调用此端点吗???

您只需传递
null
,它将不带正文地发送它 e、 g


这不会因为API需要一个int而您发送的是null而导致问题吗?不会,因为他传递的是
id
作为路由的一部分,而不是body。如果您想要RESTful,那么您可能应该有一个创建克隆的GET方法,然后是一个允许您保存新创建的克隆的POST方法。该克隆将是
此处的内容
 var result =
            await WebServer.HttpClient.PostAsync($"test/clone/{id}", null)