gpt4 book ai didi

c# - 无法将类型 'Microsoft.Azure.Documents.Document' 隐式转换为 'System.Web.Http.IHttpActionResult' 。

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:15 25 4
gpt4 key购买 nike

我有以下 webapi

 public class TenantController : ApiController
{
private static DocumentClient client;

public TenantController()
{
client = new DocumentClient(new Uri(ConfigurationManager.AppSettings["endpoint"]), ConfigurationManager.AppSettings["authKey"]);
}

public async Task<List<Tenant>> GetTenants()
{
return await DocumentDBRepository<List<Tenant>>.GetItemsAsync(d => d. != null);
}

public async Task<IHttpActionResult> GetTenant(string id)
{
Tenant tenant= await DocumentDBRepository<Tenant>.GetItemAsync(id);

if (tenant == null)
{
return NotFound();
}
return Ok(tenant);
}

public async Task<IHttpActionResult> PutTenant(string id, Tenant tenant)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != tenant.TenantId)
{
return BadRequest();
}

await DocumentDBRepository<Tenant>.CreateItemAsync(tenant);

return StatusCode(HttpStatusCode.NoContent);
}

public async Task<IHttpActionResult> PostTenant(string id, Tenant tenant)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
return await DocumentDBRepository<Tenant>.UpdateItemAsync(id, tenant);
}

public async Task<IHttpActionResult> DeleteTenant(string id)
{
await DocumentDBRepository<Tenant>.DeleteItemAsync(id);
return Ok(id);
}
}

但我对后租户方法有疑问

Cannot implicitly convert type 'Microsoft.Azure.Documents.Document' to 'System.Web.Http.IHttpActionResult'.

是的,我知道类型转换是如何工作的,但我想知道我是否在这里做错了什么?

最佳答案

你没有告诉我们错误发生在哪一行,但我猜应该是在这里

    public async Task<IHttpActionResult> PostTenant(string id, Tenant tenant)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
/// Error is here
return await DocumentDBRepository<Tenant>.UpdateItemAsync(id, tenant);
}

问题是它直接返回文档。应该是吧

    public async Task<IHttpActionResult> PostTenant(string id, Tenant tenant)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}

var result = await DocumentDBRepository<Tenant>.UpdateItemAsync(id, tenant);

return Ok(result);
}

返回正确的类型。

关于c# - 无法将类型 'Microsoft.Azure.Documents.Document' 隐式转换为 'System.Web.Http.IHttpActionResult' 。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51212531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com