Describe the bug
If you move example album handling stuff from https://dev.to/vearutop/tutorial-developing-a-restful-api-with-go-json-schema-validation-and-openapi-docs-2490 to separate package say mypackage and then (after exporting function names with capital letter) try to register interactors from main package with
service.Get("/albums", mypackage.GetAlbums())
service.Get("/albums/{id}", mypackage.GetAlbumByID())
service.Post("/albums", mypackage.PostAlbums(), nethttp.SuccessStatus(http.StatusCreated))
everything works ok. But if you decide to change getAlbumByIDInput.ID to unexported getAlbumByIDInput.id than you'll get panic on app start saying
panic: failed to reflect API schema for GET /albums/{id}: undefined path parameter: id
If you restore getAlbumByIDInput.ID and add another query param say
type getAlbumByIDInput struct {
ID string `path:"id"`
important string `query:"important"`
}
no panics/warnings/errors will be thrown on start and important param won't be visible in OpenAPI nor defined in interactor even if present in request url.
If it's expected - consider adding info in manual about correlation between field name exporting and corresponding parameter visibility in API.
Describe the bug
If you move example album handling stuff from https://dev.to/vearutop/tutorial-developing-a-restful-api-with-go-json-schema-validation-and-openapi-docs-2490 to separate package say
mypackageand then (after exporting function names with capital letter) try to register interactors from main package witheverything works ok. But if you decide to change
getAlbumByIDInput.IDto unexportedgetAlbumByIDInput.idthan you'll get panic on app start sayingIf you restore
getAlbumByIDInput.IDand add another query param sayno panics/warnings/errors will be thrown on start and
importantparam won't be visible in OpenAPI nor defined in interactor even if present in request url.If it's expected - consider adding info in manual about correlation between field name exporting and corresponding parameter visibility in API.