LoginSignup
8
2

More than 3 years have passed since last update.

ojichatをAPI化しました

Last updated at Posted at 2019-09-12

ojichat-apiを開発しました

ojichatとは

おじさんがLINEやメールで送ってきそうな文を生成するコマンド。

Go製のcliなんですが、かなり話題になりました。

しかしこのojichatはcliなので欲しい時すぐ使えなかったりします。

そこでAPI化しました。

ojichat-apiの実装

リポジトリはこちらになります。

今回はginというフレームワークを使いました。

めんどくさい処理は書きたくないので使い慣れてるものを採用しただけです。

今回は単純にquery stringをパースして

targetName := c.DefaultQuery("name", "")
emojiNumStr := c.DefaultQuery("e", "4")
punctuationLabelStr := c.DefaultQuery("p", "0")

それから ojichat/generator.Config を作成します。

config := generator.Config{
  TargetName:        targetName,
  EmojiNum:          emojiNum,
  PunctiuationLebel: punctuationLabel,
}

この configojichat/generator.Start へ渡すだけでおじさん風のテキストを作成してくれます。

インフラ

ojichat-apiは https://ojichat-api.tokyo へホストしています。このサーバーは最近Google Cloud PlatformからでたCloud Runというdockerのコンテナをサーバーレスで動かしてくれるものに載せています。

Cloud Runが色んな記事でも使い方が載せられていますが、結構簡単にデプロイまで出来るので趣味程度のAPIを開発するのであればかなりよいなと思いました。

料金もリクエスト数以外にサーバーのリソースによってかかりますが、ojichat-apiみたいな軽いものだと結構リクエストがきてもお小遣い程度で運用できそうです。

デプロイの方法などはその他の記事をご覧ください。

Cloud Runを最速で触ってみる

GCP版のFargate?Cloud Runを触ってみた

Cloud Runで動かすGo + Echo Framework

デプロイ自体をCDなどは行なっていませんがmakefileにまとめてあるのでみてみるとよいです。

Author

Twitter: @konojunya
GitHub: konojunya

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2