Asp.net 在成功创建HTTP Post记录时,我没有从请求接收到新创建的记录值。为什么?
我希望看到resp变量返回新创建的记录值。当我在debug中查看它时,resp值都是null。记录是从http post创建的,newEntModel变量确实包含来自新记录的数据。为什么var resp值都是空值?谢谢Asp.net 在成功创建HTTP Post记录时,我没有从请求接收到新创建的记录值。为什么?,asp.net,webapi,Asp.net,Webapi,我希望看到resp变量返回新创建的记录值。当我在debug中查看它时,resp值都是null。记录是从http post创建的,newEntModel变量确实包含来自新记录的数据。为什么var resp值都是空值?谢谢 // EntDataService.CS public async Task<EntModel> AddEnt(EntModel entModel) { var entJson = new StringCon
// EntDataService.CS
public async Task<EntModel> AddEnt(EntModel entModel)
{
var entJson =
new StringContent(JsonSerializer.Serialize(entModel), Encoding.UTF8, "application/json");
**var response = await _httpClient.PostAsync("api/ents", entJson);**
if (response.IsSuccessStatusCode)
{
**var resp** = await JsonSerializer.DeserializeAsync<EntModel>(await response.Content.ReadAsStreamAsync());
return resp;
}
return null;
}
// API that Creates the Record
[HttpPost]
public async Task<ActionResult<EntModel>> AddEnt([FromBody]EntModel entModel)
{
if (entModel == null)
{
return BadRequest();
}
var ent = _mapper.Map<Ent>(entModel);
var newEnt = await _repository.AddEnt(ent);
_repository.SaveAll();
var newEntModel = _mapper.Map<EntModel>(newEnt);
**return CreatedAtAction(nameof(GetEnt),
new { id = newEnt.EntId }, newEntModel);**
}
//EntDataService.CS
公共异步任务加法器(EntModel EntModel)
{
var entJson=
新的StringContent(JsonSerializer.Serialize(entModel),Encoding.UTF8,“application/json”);
**var response=wait_httpClient.PostAsync(“api/ents”,entJson)**
if(响应。IsSuccessStatusCode)
{
**var resp**=await-JsonSerializer.DeserializeAsync(await-response.Content.ReadAsStreamAsync());
返回响应;
}
返回null;
}
//创建记录的API
[HttpPost]
公共异步任务加法器([FromBody]EntModel EntModel)
{
if(entModel==null)
{
返回请求();
}
var ent=\u mapper.Map(entModel);
var newEnt=await_repository.AddEnt(ent);
_SaveAll();
var newEntModel=_mapper.Map(newEnt);
**返回CreateDataAction(nameof(GetEnt),
new{id=newEnt.EntId},newEntModel)**
}
我修改了此行,并返回了entModel。
var resp=await JsonSerializer.DeserializeAsync(await response.Content.ReadAsStreamAsync(),new JsonSerializerOptions(){propertynamecasensitive=true})