2016-10-11 2 views
0

Gin Gonic을 사용하여 모든 게시 값을 나열/반복하는 쉬운 방법이 있습니까? I 문맥에서 직접 값을 테스트 그러나 때모든 PostForm 값을 반복합니다. Gin Gonic

c.Request.ParseForm() 
for key, value := range c.Request.PostForm { 
    log.Printf("POST %v = %v",key,value) 
} 

을하지만 어떤 값을 보여주지 : I가 시도

(이동)

log.Printf("POST email = %v", c.PostForm("email") 

괜찮을 출력한다.

내가하려는 것은 모든 게시 값을 gin.H {} 컨텍스트로 매핑하여 오류가 발생하면 게시 된 값을 .HTML 템플릿 컨텍스트로 다시 전달하고 (예 : 내 오류 메시지). 가장 좋은 점은 각 POST 값을 gin.H {} 맵에 수동으로 연결하는 것입니다. 그러나 큰 폼의 경우 이는 장황하고 이상적이지 않은 것처럼 보입니다.

+0

'c.PostForm()'의 구현을 살펴보면'PostForm'이 파싱되지 않았기 때문에 https://github.com/gin-gonic/gin/blob/develop/context.go#L264-L276 – phoet

+0

@phoet - 그런 종류의 모양 ...하지만 ParseForm()은 parse를 호출해서는 안됩니까? 그 수정은 뭐니? 대신에'ParseMultipartForm'을 호출해야합니까? – BadPirate

답변

0

여기의 양식은 멀티 파트 양식이었습니다 (표시되지 않음). ParseForm은 여러 부분 양식을 분석하지 않으므로 데이터가 분석되지 않습니다. 해결 방법은 ParseMultipartForm으로 전화하는 것입니다. PostForm에 대한 Gin Gonic의 메서드를 가리키는 @phoet (귀하에게 ParseMultipartForm을 호출하고 자동으로 그렇게 함) 덕분에 대답을 이끌어 냈습니다.