🆙

Goa 更新情報 v3.7.10

2022/07/02に公開

概要

Goa の更新情報メモです。

Goa v3.7.10

更新内容

  • goa example で作られるサーバのシャットダウン時にエラーがあった場合にエラーが握りつぶされていたのが、ログに出力されるようになりました #3076
  • Meta"struct:field:name" を設定するときに一緒に import path を設定できるが、MapOfの要素にこれを指定したときなどに設定が反映されないことがあるバグが修正されました #3082
  • goa example で作られるサーバに間違ったホスト名を指定したときにエラーメッセージを出力するだけで処理が進んでしまうバグが修正されました #3077
  • その他:Union Type まわりで細かな修正があった模様(Union Type を使ったことがないからよく分からぬ)

詳細

Meta DSL のバグは、次のような使い方したときに生成されたコードの import path に "encoding/json" が指定されてなくてビルドできなくなるときがあるというものでした。「ときがある」というのは、指定が有効に働く場合もあって、よそで指定したものが入っていてうまくいくときもあったりしてややこしいバグだったからです。これは自分で気づいてしまったので頑張って直しました。

package design

import (
	. "goa.design/goa/v3/dsl"
)

var _ = Service("calc", func() {
	Method("foo", func() {
		Payload(func() {
			Attribute("x", MapOf(String, String, func() {
				Elem(func() {
					Meta("struct:field:type", "json.RawMessage", "encoding/json")
				})
			}))
		})
		Result(Empty)
		HTTP(func() {
			GET("/foo")
		})
	})
})

今回も細かな修正だけですね。

Happy hacking!

Discussion