我有Diesel生成的以下架构:
table! {
user (id) {
id -> Uuid,
name -> Text
}
Run Code Online (Sandbox Code Playgroud)
和相关的模型
use diesel::{
self,
Queryable,
Insertable,
};
use diesel::prelude::*;
use diesel::sql_types::Uuid;
use super::schema::user;
#[derive(Queryable)]
pub struct User {
pub id: Uuid,
pub name: String,
}
impl User {
pub fn get(id: i32, connection: &PgConnection) -> Vec<User> {
user::table.load::<User>(connection).unwrap()
}
}
Run Code Online (Sandbox Code Playgroud)
尝试编译此错误时显示错误:
table! {
user (id) {
id -> Uuid,
name -> Text
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试插入,Expression则会收到类似的错误消息,提示未实现。
这可能是我的依赖项有问题还是我可能忘记将其添加到模型中?
[dependencies]
rocket = "0.4.0-rc.1"
serde = "1.0"
serde_derive = "1.0" …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码创建令牌
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.StandardClaims{
Subject: string(user.Id),
})
tokenString, err := token.SignedString([]byte("secret"))
Run Code Online (Sandbox Code Playgroud)
并尝试使用以下代码解析它们
token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, UnauthorizedError
}
return []byte("secret"), nil
})
if err != nil {
return -1, UnauthorizedError
}
if !token.Valid {
return -1, UnauthorizedError
}
claims, ok := token.Claims.(jwt.MapClaims)
if !ok {
return -1, UnauthorizedError
}
logrus.Info(claims)
Run Code Online (Sandbox Code Playgroud)
为什么我不能将我的声明转换为 StandardClaims 并访问 claim.Subject?