カサレリア。katzenです。
お久しぶりの方、はじめましての方、どうぞよろしくお願いいたします。
今回は、予告通りAPIサーバを作りたいと思います。
プログラムを学ぶときにWebにふれることが多いと思います。 V言語もWebに絡んでいくことで広まっていくと思いますので、超簡単なAPIサーバを作ります。
軽く大枠を決めましょう。
こんな感じでどうでしょうか。
早速作っていきましょう。
まず、ライブラリがないか探します。大抵自分が思い浮かぶより先に誰かが作っているはずです。
そしてプログラムの場合、結構 awesome
があります。
ドキュメントの内容や最終更新日を見る限り
を使うのが良さそうです。一部PreAlphaらしいですが。
早速サンプルをもとに最小のサーバを書いてみましょう。
// server.v
import vweb
struct App{
vweb.Context
}
fn main() {
vweb.run(&App{}, 8080)
}
fn (mut app App) index() vweb.Result {
return app.text('index!')
}
細かい内容は置いといて、なんとなくわかりますでしょうか。
8080ポートで待ち受けて、indexに GETリクエストがある場合、"index!"を返すプログラムです。
起動してみます。
$ v run server.v
# [Vweb] Running app on http://localhost:8080/
こんな感じでサーバが起動しましたでしょうか。
私はChromebookのlinuxで開発しているのですが、
openssl/rand.h
関連のエラーが出て起動できませんでした。
検索すると2021年1月の記事が出てきました。私のです。 ありがとう私。
改めてMagicodeでも解決法を書いておきます。 →こちら
さて、無事起動できたらブラウザで
http://localhost:8080
へアクセスすると、"index!"と表示されましたでしょうか。
もう目的の半分は達成ですね。
8080ポートで待ち受け
GETリクエスト対応 indexアクセスで値を返せる。
あとはJsonやパラメータの扱いを残すのみです。簡単!
新たに超簡単なAPIサーバを作るシリーズを開始しました。
次回「V言語で超簡単なAPIサーバを作る part.2」見てください!k