首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HTTPparams 422 (无法处理的实体)和FastAPI的角度错误

HTTPparams 422 (无法处理的实体)和FastAPI的角度错误
EN

Stack Overflow用户
提问于 2021-09-21 00:22:51
回答 1查看 126关注 0票数 2

我在后台有这个网址,需要像参数一样传递c1,c1只是一个例子,这个方法启用或禁用用户并返回一个"ok“

http://127.0.0.1:8000/admin/enable_disable_account?name=c1

该值取自按钮

代码语言:javascript
运行
复制
<div *ngFor='let userInfo of users'>
 <ul class="list-group">
    <li class="list-group-item">username -> {{userInfo["username"]}}</li>
    <li class="list-group-item">email -> {{userInfo["email"]}}</li>
    <li class="list-group-item">enable/disable -> {{userInfo["enable"]}}</li>
 </ul>
  <button class="btn btn-primary" (click)="setValor(userInfo['username'])">Enable/Disable</button>   
</div>

组件管理单击事件的方法

代码语言:javascript
运行
复制
    setValor(username): void {
    console.log("click")
    this.adminServ.updateStateUser(username)
    .subscribe(data => {
      
      console.log(data)
    },
    err => {
      console.log("error")
      console.error(err)
    })
  }

以及服务中的方法

代码语言:javascript
运行
复制
    public updateStateUser(username): Observable<any> {
    let params = new HttpParams()
      .append('name', username)      
    return this.http.post('http://127.0.0.1:8000/admin/enable_disable_account', params)
  }

我有这个错误,问题出在哪里?

我在这里复制了后端的方法,我不知道找到问题是否重要,这是用FastAPI完成的

代码语言:javascript
运行
复制
@router.post("/enable_disable_account")
async def enable_disable_account(name: str, current_user: User =   Security(get_current_user, scopes=["admin"])):           
  result = await admin_db.enable_disable_account(name)
  if result:
    return JSONResponse(status_code=status.HTTP_200_OK,
                        content='ok')
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-21 02:09:31

代码语言:javascript
运行
复制
this.http.post('http://127.0.0.1:8000/admin/enable_disable_account', params)

这一行不正确。

Angular http客户端post方法第二个参数是body,第三个参数是options

当你想设置query并传递params时,你需要传递第三个参数。此外,您还必须将其作为对象发送,而不仅仅是HttpParamsAngular Http Client API reference

代码语言:javascript
运行
复制
this.http.post('http://127.0.0.1:8000/admin/enable_disable_account',null ,{
params: params
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69262116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档