Angular API Service的delete方法调用返回404错误如何解决
问题修复方案
首先你贴出的代码本身存在明显语法错误,是首要排查点,后续可以按以下步骤逐步验证:
- 修复代码语法错误
你当前的delete方法传参顺序错误,模板字符串拼接的路径后多余传入了this.url,会导致httpOptions配置没有被正确传入HttpClient,引发请求头缺失、参数错位的问题,正确代码如下:delete(cliente: ClienteOrden): Observable<Response>{ return this._http.delete<Response>(`${this.url}/${cliente.idCliente}`, httpOptions) } - 核对后端接口路由规则
因为Swagger测试接口正常,直接查看Swagger中DELETE接口的请求路径格式:若Swagger请求路径格式为
https://localhost:5001/api/Cliente?id=21,说明后端要求id作为查询参数,需要将前端请求地址改为${this.url}?id=${cliente.idCliente}
若Swagger路径和你当前生成的https://localhost:5001/api/Cliente/21完全一致,继续排查请求头差异 - 核对请求头配置
对比Swagger实际发送的请求头,和浏览器控制台Network面板中DELETE请求的头信息,检查httpOptions是否缺失后端要求的字段,比如身份验证凭证、Content-Type等,补全对应配置即可。 - 特殊场景排查
若.NET后端开启了防伪令牌验证,前端请求未携带对应令牌也可能被拦截返回404,需要将令牌信息补充到请求头中。
内容的提问来源于stack exchange,提问作者Arlex Guzman
相关产品推荐
相关产品推荐

