Не могу найти сервис

Я пытаюсь сделать сервер json-rpc в своем приложении, используя пакет gorilla/rpc.

Вот мой код

func (server *Server) ListenRPC(port string) {
    fmt.Println(fmt.Sprintf(MessageListeningRPCServer, port))
    s := rpc.NewServer()
    s.RegisterCodec(json.NewCodec(), "application/json")
    s.RegisterCodec(json.NewCodec(), "application/json;charset=UTF-8")
    s.RegisterService(new(RPCServer), "")
    r := mux.NewRouter()
    r.Handle("/", s)
    http.ListenAndServe(fmt.Sprintf(portFormatter, port), r)
}

type RPCServer struct {
}

type Response string

type Args struct {
    A, B int
}

func (server *RPCServer) Abc(r *http.Request, args *Args, response *Response) error {
    *response = "asdasdasd"
    return nil
}

Итак, в cmd я запускаю команду curl, выглядящую так

curl -H 'Content-Type: application/json' -X POST -d '{"method":"RPCServer.Abc","params":[{"a":3}],"id":1}' http://localhost:8090

и получить ошибку выглядит так

rpc: can't find service "RPCServer.Abc"

Если бы у вас был работающий фрагмент кода, это было бы очень полезно для его отладки.

ATN 28.02.2019 20:26
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
Создание API ввода вопросов на разных языках программирования (Python, PHP, Go и Node.js)
API ввода вопросов - это полезный инструмент для интеграции моделей машинного обучения, таких как ChatGPT, в приложения, требующие обработки...
1
1
293
0

Другие вопросы по теме