小编use*_*090的帖子

Rust / Diesel:如何查询具有uuid的postgres表并将其插入

我有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)

rust rust-diesel

8
推荐指数
2
解决办法
1392
查看次数

dgrijalva/jwt-go 可以将声明转换为 MapClaims 而不是 StandardClaims?

我正在使用以下代码创建令牌

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?

go jwt jwt-go

5
推荐指数
1
解决办法
2865
查看次数

标签 统计

go ×1

jwt ×1

jwt-go ×1

rust ×1

rust-diesel ×1