万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    Locoでテーブル内削除

    https://dev.classmethod.jp/articles/rust-loco/

    この記事でのLocoで articles での全削除がなかった。

    SeaORMっていうO/Rマッパー使ってるっぽいので

    https://www.sea-ql.org/SeaORM/docs/0.6.x/basic-crud/delete/

    を調べた。

    削除のルートを追加。

    pub fn routes() -> Routes {
        Routes::new()
            .prefix("articles")
            .add("/", get(list))
            .add("/", post(add))
            .add("/:id", get(get_one))
            .add("/:id", delete(remove))
            .add("/:id", post(update))
            .add("/:id/comments", get(comments))
            // ここに追加
            .add("/", delete(remove_all))
    }

    remove_allのメソッドを追加

    pub async fn remove_all(State(ctx): State<AppContext>) -> Result<()> {
        let delete_result = Entity::delete_many()
            .exec(&ctx.db)
            .await?;
        println!("Deleted {} rows", delete_result.rows_affected);
        format::empty()
    }

    CurlでのAPIの叩き方は。

    curl -X DELETE localhost:3000/articles