英文:
Golang reset service post method post data undefined
问题
你好,以下是你提供的代码的翻译:
package main
import (
"code.google.com/p/gorest"
"fmt"
"net/http"
)
type Invitation struct {
User string
}
// 服务定义
type HelloService struct {
gorest.RestService
// gorest.RestService `root:"/tutorial/"`
helloWorld gorest.EndPoint `method:"GET" path:"/hello-world/" output:"string"`
sayHello gorest.EndPoint `method:"GET" path:"/hello/{name:string}" output:"string"`
posted gorest.EndPoint `method:"POST" path:"/post/" postdata:"User"`
}
func main() {
gorest.RegisterService(new(HelloService)) // 注册我们的服务
http.Handle("/", gorest.Handle())
http.ListenAndServe(":8787", nil)
}
func (serv HelloService) Posted(posted User) {
fmt.Println(User)
}
func (serv HelloService) HelloWorld() string {
return "Hello World"
}
func (serv HelloService) SayHello(name string) string {
return "Hello " + name
}
这是你遇到的错误:
# command-line-arguments
./registation.go:28: undefined: User
./registation.go:29: undefined: User
请帮助我解决这个问题,谢谢。
英文:
hi i am working with google golang reset service i have issue with post method
when i try to run this code it show post data undefined
package main
import (
"code.google.com/p/gorest"
"fmt"
"net/http"
)
type Invitation struct {
User string
}
//Service Definition
type HelloService struct {
gorest.RestService
//gorest.RestService `root:"/tutorial/"`
helloWorld gorest.EndPoint `method:"GET" path:"/hello-world/" output:"string"`
sayHello gorest.EndPoint `method:"GET" path:"/hello/{name:string}" output:"string"`
posted gorest.EndPoint `method:"POST" path:"/post/" postdata:"User" `
}
func main() {
gorest.RegisterService(new(HelloService)) //Register our service
http.Handle("/", gorest.Handle())
http.ListenAndServe(":8787", nil)
}
func (serv HelloService) Posted(posted User) {
fmt.Println(User)
}
func (serv HelloService) HelloWorld() string {
return "Hello World"
}
func (serv HelloService) SayHello(name string) string {
return "Hello " + name
}
this is the error i am getting
# command-line-arguments
./registation.go:28: undefined: User
./registation.go:29: undefined: User
please help to fix this issue
thank you
答案1
得分: 0
func (serv HelloService) Posted(posted User) {
fmt.Println(posted)
}
posted方法接受一个名为posted、类型为User的参数。
你应该打印实际的参数,而不是它的类型 - 就像你在这里做的一样
func (serv HelloService) SayHello(name string) string {
return "Hello " + name
}
英文:
func (serv HelloService) Posted(posted User) {
fmt.Println(User)
}
should be
func (serv HelloService) Posted(posted User) {
fmt.Println(posted)
}
The posted method takes a parameter with the name of posted and type of User.
You should be printing the actual paramater, not it's type - Just like you have here
func (serv HelloService) SayHello(name string) string {
return "Hello " + name
}
答案2
得分: -1
package main
import (
//"bytes"
"code.google.com/p/gorest"
"crypto/rand"
"crypto/tls"
//"encoding/json"
"fmt"
"log"
"net"
"net/http"
"net/mail"
"net/smtp"
)
type InvitEmail struct {
SenderEmail string
ReceiverEmail string
}
//Service Definition
type HelloService struct {
gorest.RestService
//gorest.RestService `root:"/tutorial/"`
helloWorld gorest.EndPoint `method:"GET" path:"/hello-world/" output:"string"`
sayHello gorest.EndPoint `method:"GET" path:"/hello/{name:string}" output:"string"`
userRegister gorest.EndPoint `method:"POST" path:"/UserRegister/" postdata:"InvitEmail"`
/*activate gorest.EndPoint `method:"GET" path:"/activate/{email:string}/{token:string}" output:"bool"`
userInvite gorest.EndPoint `method:"POST" path:"/UserInvite/" postdata:"InvitEmail"`*/
}
func main() {
gorest.RegisterService(new(HelloService)) //Register our service
http.Handle("/", gorest.Handle())
http.ListenAndServe(":8787", nil)
}
func (serv HelloService) UserRegister(u InvitEmail) {
fmt.Println(u.ReceiverEmail, "xxxxxxxx", u.SenderEmail)
invitationmail(u.SenderEmail, u.ReceiverEmail)
serv.ResponseBuilder().SetResponseCode(200).Write([]byte("from :" + u.SenderEmail + " to :" + u.ReceiverEmail))
}
func (serv HelloService) HelloWorld() string {
return "Hello World"
}
func (serv HelloService) SayHello(name string) string {
return "Hello " + name
}
func invitationmail(sender, receiver) {
//emailsendingpart
}
这是一个Go语言的代码示例,包含了一个名为HelloService
的服务和一些相关的函数。其中,UserRegister
函数接收一个InvitEmail
结构体作为参数,并调用invitationmail
函数发送邮件。其他函数包括HelloWorld
和SayHello
,分别返回字符串"Hello World"和"Hello"加上传入的名字。整个代码的作用是注册一个服务并监听端口8787,提供相应的API接口。
英文:
package main
import (
//"bytes"
"code.google.com/p/gorest"
"crypto/rand"
"crypto/tls"
//"encoding/json"
"fmt"
"log"
"net"
"net/http"
"net/mail"
"net/smtp"
)
type InvitEmail struct {
SenderEmail string
ReceiverEmail string
}
//Service Definition
type HelloService struct {
gorest.RestService
//gorest.RestService `root:"/tutorial/"`
helloWorld gorest.EndPoint `method:"GET" path:"/hello-world/" output:"string"`
sayHello gorest.EndPoint `method:"GET" path:"/hello/{name:string}" output:"string"`
userRegister gorest.EndPoint `method:"POST" path:"/UserRegister/" postdata:"InvitEmail"`
/*activate gorest.EndPoint `method:"GET" path:"/activate/{email:string}/{token:string}" output:"bool"`
userInvite gorest.EndPoint `method:"POST" path:"/UserInvite/" postdata:"InvitEmail"`*/
}
func main() {
gorest.RegisterService(new(HelloService)) //Register our service
http.Handle("/", gorest.Handle())
http.ListenAndServe(":8787", nil)
}
func (serv HelloService) UserRegister(u InvitEmail) {
fmt.Println(u.ReceiverEmail, "xxxxxxxx", u.SenderEmail)
invitationmail(u.SenderEmail, u.ReceiverEmail)
serv.ResponseBuilder().SetResponseCode(200).Write([]byte("from :" + u.SenderEmail + " to :" + u.ReceiverEmail))
}
func (serv HelloService) HelloWorld() string {
return "Hello World"
}
func (serv HelloService) SayHello(name string) string {
return "Hello " + name
}
func invitationmail(sender, receiver) {
//emailsendingpart
}
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论