Rest Strapi-更新用户模型上的其他字段
问题陈述:能够注册用户,但无法在单个请求中更新同一型号上的customFields。详细解释如下 我在Strapi上向UserModel添加了其他字段。附加用户模型 我正在使用Nuxt构建一个前端,管理员用户可以在其中创建可以访问网站的新用户。这不是常规注册,这是由网站管理员创建的用户。我想即使是一个普通的注册,我也会面临这个问题。 管理员拥有crud用户的所有权限 当我提交表格时,我得到了禁止的错误。附表格 下面是我处理提交的代码。我首先注册用户,然后根据用户id尝试更新名字和姓氏Rest Strapi-更新用户模型上的其他字段,rest,nuxt.js,strapi,Rest,Nuxt.js,Strapi,问题陈述:能够注册用户,但无法在单个请求中更新同一型号上的customFields。详细解释如下 我在Strapi上向UserModel添加了其他字段。附加用户模型 我正在使用Nuxt构建一个前端,管理员用户可以在其中创建可以访问网站的新用户。这不是常规注册,这是由网站管理员创建的用户。我想即使是一个普通的注册,我也会面临这个问题。 管理员拥有crud用户的所有权限 当我提交表格时,我得到了禁止的错误。附表格 下面是我处理提交的代码。我首先注册用户,然后根据用户id尝试更新名字和姓氏 han
handleSubmit() {
if (this.$refs.form.validate()) {
this.loading = true
// console.log(this.username, this.email, this.password)
strapi
.register(this.username, this.email, this.password)
.then(response => {
console.log(response)
strapi
.updateEntry('users', response.user.id, {
firstName: this.firstname,
lastname: this.lastname
})
.then(response => {
this.loading = false
this.$router.push('/users')
})
.catch(err => {
this.loading = false
// alert(err.message || 'An error occurred.')
this.errorMessage = true
this.errorMessageContent = err.message || 'An error occurred.'
})
})
.catch(err => {
this.loading = false
// alert(err.message || 'An error occurred.')
this.errorMessage = true
this.errorMessageContent = err.message || 'An error occurred.'
})
}
}
下面是控制台消息。
您想
更新
附加用户字段(使用PUT方法)还是在注册过程中将它们传递到后端(使用POST方法)
如果要更新它们,必须执行以下操作:
/update
端点在用户权限配置中可用。
请参见屏幕截图:
用户/:id
上使用PUT方法,您可以这样做,例如:
您想
更新
其他用户字段(使用PUT方法)还是在注册过程中将它们传递到后端(使用POST方法)
如果要更新它们,必须执行以下操作:
/update
端点在用户权限配置中可用。
请参见屏幕截图:
用户/:id
上使用PUT方法,您可以这样做,例如:
strapi.register操作也会将该用户登录,因此我认为操作的第二部分将发送一个头,因为该用户似乎没有更新用户的权限。也许你可以销毁该标题并推送你的管理员用户一个。谢谢@Andrew1325。我会检查一下。@Andrew1325我需要一些帮助,如果我销毁了令牌,如何从管理员那里取回令牌?是否可以立即销毁新用户的令牌,或者是否有一个标志表明不存储令牌?因为您是作为创建用户的管理员执行此操作的,所以您应该能够使用
strapi.createEntry('users',…
而不是strapi.register
,并在一个请求中发送所有用户数据。您将在响应中获得用户,而无需登录该用户。谢谢@Andrew1325,我在本例中使用了Axios,它与strapi.createEntry()相同)但是,是的,你的第一条评论让我想到了正确的方向。非常感谢。strapi.register操作也会登录该用户,因此我认为你操作的第二部分将发送一个标题,因为该用户似乎没有更新用户的权限。也许你可以销毁该标题并推送你的管理员用户。谢谢@Andrew1325.我会检查一下。@Andrew1325我需要一些帮助,如果我销毁了令牌,我如何从管理员那里取回令牌?是否可以立即销毁新用户的令牌,或者是否有一个标志表明不存储令牌?因为您是以管理员的身份创建用户,所以您应该能够使用strapi.createEntry('users',…
而不是strapi.register
,并在一个请求中发送所有用户数据。您将在响应中获得用户,而无需登录该用户。谢谢@Andrew1325,我在本例中使用了Axios,它与strapi.createEntry()相同)是的,你的第一句话让我想到了正确的方向。非常感谢。