基本的には下記のページに書いてあることをそのまま実施した感じです。
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9R29hJTIwdjIlRTMlODIlOTIlRTQlQkQlQkYlRTMlODElQTMlRTMlODElOUYlRTklOTYlOEIlRTclOTklQkElRTclOTIlQjAlRTUlQTIlODMlRTMlODMlODYlRTMlODMlQjMlRTMlODMlOTclRTMlODMlQUMlRTMlODMlQkMlRTMlODMlODgmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPWMyOTQwOGY2ZTI2ZjViMzEwMjdhNmRkNmZiNjIzNDJk&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0b25vdWNoaTUxMCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9NTlhY2Q3MDY0YzRkN2Y5NjRjODM5YTJmNDMxYzE4ZDA&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g5qCq5byP5Lya56S-TUlYSQ&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=ef37fe6e4f00b7df0d6e0474d30b9684)
ただし、上記は Goa v2 のサンプルなので、v3 で動かすためには少し作業が必要でした。
それについてのメモです。
結構適当に進めてしまったので、たぶん抜けなどもあります(/_\*)
以降は、ベースのファイルは上記でも記載されていますが、https://github.com/tonouchi510/goa2-sample から取得するのが手っ取り早いです。
Go Modules を使う
これは必須ではないとは思いますが、自分は Go Modules を使いたかったので、適当なディレクトリを作成してそこにリポジトリから取得したファイルを設置し、 go mod init しました。
※自分は test2 としました。
go mod init test2
import する dsl の変更
まず、design ディレクトリの下にある各ファイルの import する dsl の指定を下記のように変更します。
< . "goa.design/goa/dsl"
---
> . "goa.design/goa/v3/dsl"
cors については、下記のように変更します。
< cors "goa.design/plugins/cors/dsl"
---
> cors "goa.design/plugins/v3/cors/dsl"
ちなみに、design ファイルは基本これだけ修正すれば動きますが、Contact, Docs, API name, hostname, ポート番号 などを変えたい場合には適宜変えておきます。
controller の移動と変更
controller ディレクトリ下に下記の3ファイルがあると思いますが、これらをプロジェクトのトップディレクトリに移動します。
- admin.go
- users.go
- viron.go
次に、任意のディレクトリでプロジェクトを作成した場合には、移動したそれぞれのファイルで import している記述を変更します。
下記は admin の例です。
"github.com/tonouchi510/goa2-sample/gen/admin"
これを例えば下記のように変更します。
※自分は test2 プロジェクトとしています。
"test2/gen/admin"
ちなみに、私のようにモジュール名を変更してしまっている場合には、package を変更しておく必要があります。
package test2
あとは、冒頭で紹介したページの手順で実行すれば、Viron が立ち上がると思います。
たしかに、これだけの調整で管理画面らしきものが上がってしまうのは驚きですね。
コメント