type CommonApi interface {
Request() error
}
type CommonSome interface {
Some() CommonApi
}
import "errors"
type Api struct {}
func (Api) Request() error {
return errors.New("Test")
}
type SomeThingWithApi struct {}
func (SomeThingWithApi) Some() Api {
return Api{}
}
CommonApi
, а возвращается реализация. type CommonApi interface {
Request() error
}
type CommonSome interface {
Some() CommonApi
}
import "errors"
type Api struct {}
func (Api) Request() error {
return errors.New("Test")
}
type SomeThingWithApi struct {}
func (SomeThingWithApi) Some() Api {
return Api{}
}
CommonApi
, а возвращается реализация.
Да, просто как-то, когда прочитал про форму, подсознательно сразу всплыла yii-форма. И про безопасность согласен, просто решил это опустить в рамках вопроса.
Если, кстати, все-таки ajax запрос и отключать csrf не хочется, то можно добавить параметр
_csrf
со значением
yii.getCsrfToken()