upd(codegen): close request body, parse body as json
This commit is contained in:
parent
4e4670ff40
commit
bb02b827de
@ -30,6 +30,7 @@ func New{name}({self}h {name}API) *{name} {
|
|||||||
return &{name}{ldelim}{newline}
|
return &{name}{ldelim}{newline}
|
||||||
{foreach $calls as $call}
|
{foreach $calls as $call}
|
||||||
{call.name|capitalize}: func(w http.ResponseWriter, r *http.Request) {
|
{call.name|capitalize}: func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
defer r.Body.Close()
|
||||||
params := request.New{name|capitalize}{call.name|capitalize}()
|
params := request.New{name|capitalize}{call.name|capitalize}()
|
||||||
resputil.JSON(w, params.Fill(r), func() (interface{}, error) {
|
resputil.JSON(w, params.Fill(r), func() (interface{}, error) {
|
||||||
return {self}h.{call.name|capitalize}(r.Context(), params)
|
return {self}h.{call.name|capitalize}(r.Context(), params)
|
||||||
|
|||||||
@ -4,6 +4,7 @@ package {package}
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"encoding/json"
|
||||||
"github.com/go-chi/chi"
|
"github.com/go-chi/chi"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -24,6 +25,8 @@ func New{name|expose}{call.name|capitalize}() *{name|expose}{call.name|capitaliz
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ({self} *{name|expose}{call.name|capitalize}) Fill(r *http.Request) error {
|
func ({self} *{name|expose}{call.name|capitalize}) Fill(r *http.Request) error {
|
||||||
|
json.NewDecoder(r.Body).Decode({self})
|
||||||
|
|
||||||
r.ParseForm()
|
r.ParseForm()
|
||||||
get := map[string]string{}
|
get := map[string]string{}
|
||||||
post := map[string]string{}
|
post := map[string]string{}
|
||||||
@ -40,8 +43,9 @@ func ({self} *{name|expose}{call.name|capitalize}) Fill(r *http.Request) error {
|
|||||||
{if strtolower($method) === "path"}
|
{if strtolower($method) === "path"}
|
||||||
{self}.{param.name|expose} = {if ($param.type !== "string")}{$parsers[$param.type]}({/if}chi.URLParam(r, "{param.name}"){if ($param.type !== "string")}){/if}
|
{self}.{param.name|expose} = {if ($param.type !== "string")}{$parsers[$param.type]}({/if}chi.URLParam(r, "{param.name}"){if ($param.type !== "string")}){/if}
|
||||||
{elseif substr($param.type, 0, 2) !== '[]'}
|
{elseif substr($param.type, 0, 2) !== '[]'}
|
||||||
{self}.{param.name|expose} = {if ($param.type !== "string")}{$parsers[$param.type]}({method|strtolower}["{param.name}"]){else}{method|strtolower}["{param.name}"]{/if}
|
if val, ok := {method|strtolower}["{param.name}"]; ok {
|
||||||
{/if}
|
{self}.{param.name|expose} = {if ($param.type !== "string")}{$parsers[$param.type]}(val){else}val{/if}
|
||||||
|
}{/if}
|
||||||
{/foreach}
|
{/foreach}
|
||||||
{/foreach}{newline}
|
{/foreach}{newline}
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user