不允许Directus HTTP PUT方法

时间:2019-01-23 17:27:29

标签: rest ionic3 http-put directus

嘿,我将Directus与Ionic 3一起用于浏览器,但HTTP PUT出现问题。

错误:

  

错误:{代码:6,消息:“方法不允许”}

     

原始:对象

     

标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:null,   lazyInit:ƒ}

     

消息:“ http失败响应为   http://example.com/backend/api/public/_/users?single=1&access_token=myToken&filter[id]=50:   405不允许使用方法“

     

名称:“ HttpErrorResponse”

     

好:错误

     

状态:405

     

statusText:“不允许使用方法”

     

url:   “ http://example.com/backend/api/public/_/users?single=1&access_token=myToken&filter[id]=50

这是我的代码:

    updatePwd(user:any, userId: any){
    return this.api.put('users?single=1&access_token=myToken&filter[id]='+userId,user).map((res: any) => {
      return res;
    });
  }

POST和GET可以很好地工作

    newUser(user:any){
    return this.api.post('users?access_token=myToken',user).map((res: any) => {
      return res;
    });
  }

getUser(email:any){
    return this.api.get('users?single=1&access_token=myToken&filter[email]='+email).map((res: any) => {
      return res;
    });
  }

我是Directus的新用户,对此我不太了解。那么这里出什么问题呢?我必须配置一些东西吗?

预先感谢:)

编辑: 我尝试过PATCH,但效果很好^^

    updatePwd(userId: any, user:any){
    return this.api.patch('users/'+userId+'?&access_token=myToken',user).map((res: any) => {
      return res;
    });
  }

1 个答案:

答案 0 :(得分:2)

Directus使用PATCH而不是PUT来更新行:https://docs.directus.io/api/reference.html#update-user