/
api.go
52 lines (45 loc) · 1.31 KB
/
api.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package api
import (
"github.com/swaggo/swag/testdata/generics_property/types"
"github.com/swaggo/swag/testdata/generics_property/web"
"net/http"
)
type NestedResponse struct {
web.GenericResponse[[]string, *uint8]
Post types.Field[[]types.Post]
}
type Audience[T any] []T
type CreateMovie struct {
Name string
MainActor types.Field[Person]
SupportingCast types.Field[[]Person]
Directors types.Field[*[]Person]
CameraPeople types.Field[[]*Person]
Producer types.Field[*Person]
Audience Audience[Person]
AudienceNames Audience[string]
}
type Person struct {
Name string
}
// @Summary List Posts
// @Description Get All of the Posts
// @Accept json
// @Produce json
// @Param data query web.PostPager true "1"
// @Success 200 {object} web.PostResponse "ok"
// @Success 201 {object} web.PostResponses "ok"
// @Success 202 {object} web.StringResponse "ok"
// @Success 203 {object} NestedResponse "ok"
// @Router /posts [get]
func GetPosts(w http.ResponseWriter, r *http.Request) {
}
// @Summary Create movie
// @Description Create a new movie production
// @Accept json
// @Produce json
// @Param data body CreateMovie true "Movie Create-Payload"
// @Success 201 {object} CreateMovie "ok"
// @Router /movie [post]
func CreateMovieApi(w http.ResponseWriter, r *http.Request) {
}