不允许使用 Directus HTTP PUT 方法
Directus HTTP PUT Method Not Allowed
嘿,我将 Directus 与 Ionic 3 用于浏览器,我遇到了 HTTP PUT 问题。
错误:
error: {code: 6, message: "Method Not Allowed"}
proto: Object
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null,
lazyInit: ƒ}
message: "Http failure response for
http://example.com/backend/api/public/_/users?single=1&access_token=myToken&filter[id]=50:
405 Method Not Allowed"
name: "HttpErrorResponse"
ok: false
status: 405
statusText: "Method Not Allowed"
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;
});
}
Directus 使用 PATCH 而不是 PUT 来更新行:https://docs.directus.io/api/reference.html#update-user
嘿,我将 Directus 与 Ionic 3 用于浏览器,我遇到了 HTTP PUT 问题。
错误:
error: {code: 6, message: "Method Not Allowed"}
proto: Object
headers: HttpHeaders {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}
message: "Http failure response for http://example.com/backend/api/public/_/users?single=1&access_token=myToken&filter[id]=50: 405 Method Not Allowed"
name: "HttpErrorResponse"
ok: false
status: 405
statusText: "Method Not Allowed"
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;
});
}
Directus 使用 PATCH 而不是 PUT 来更新行:https://docs.directus.io/api/reference.html#update-user