角度 API 服务的方法"delete"问题



我正在开发一个客户端表的CRUD,我已经实现了get, post和put方法没有问题,但是当我尝试删除方法并运行它时,导航器返回404错误,例如:

delete(cliente: ClienteOrden): Observable<Response>{
return this._http.delete<Response>(`${this.url}/${cliente.idCliente}` this.url, httpOptions)

delete()输出:https://localhost:5001/api/Cliente/21其中21为client . idclient

Navigator response: DELETE: error 404,大家都知道是什么,这是,"没有什么";

Web Service in Backend (. net): OK,我用swagger测试了一下,结果OK,可以进行CRUD操作。

那么问题就在前端,更具体地说是API服务。

我可以用以下几行来解决这个问题:

delete(cliente: ClienteOrden): Observable<Response>{
const options = {
headers: new HttpHeaders({
'Content-Type': 'application/json'
}),
body: {
idCliente: `${cliente.idCliente}`,
nombre: ''
}
}
return this._http.delete<Response>(this.url, options)
}
````

在后端:

[HttpDelete]
public IActionResult Delete(ClienteViewModels OModel)
{
Respuesta ORespuesta = new Respuesta();
ORespuesta.Exito = 0;
try
{
using (VentasRealContext db = new VentasRealContext())
{
ClienteOrden OCliente = db.ClienteOrdens.Find(OModel.idCliente);
OCliente.Nombre = OModel.Nombre;
db.Remove(OCliente).State = Microsoft.EntityFrameworkCore.EntityState.Deleted;
db.SaveChanges();
ORespuesta.Exito = 1;
}
}
catch (Exception Ex)
{
ORespuesta.Mensaje = Ex.Message;
}
return Ok(ORespuesta);
}

我将做以下更改:

[HttpDelete("{id}")]
public IActionResult Delete(long id)
{
Respuesta ORespuesta = new Respuesta();
ORespuesta.Exito = 0;
try
{
using (VentasRealContext db = new VentasRealContext())
{
ClienteOrden OCliente = db.ClienteOrdens.Find(id);
db.Remove(OCliente);
db.SaveChanges();
ORespuesta.Exito = 1;
}
}
catch (Exception Ex)
{
ORespuesta.Mensaje = Ex.Message;
}
return Ok(ORespuesta);
}

Byan60,现在可以工作了

Frontend:
delete(cliente: ClienteOrden): Observable<Response>{

return this._http.delete<Response>(`${this.url}/${cliente.idCliente}`, httpOptions)
}  

规范休息! !谢谢你Bryan60

最新更新