给定一个包含属性和方法的类,我想派生一个只包含其属性的类型。
例如,如果我定义一个类如下:
class MyObject {
constructor(public prop1: string, public prop2: number) {}
instanceMethod() { ... }
}
Run Code Online (Sandbox Code Playgroud)
我想要一个类型,MyObjectConstructor比如这样:
type MyObjectConstructor = {
prop1: string;
prop2: number;
}
Run Code Online (Sandbox Code Playgroud)
我知道我可以使用内置类型Pick并按名称手动选择我想要的键,但我不想重复所有键,并且每次向我的类添加新属性时都必须更改它们。
有没有办法定义ConstructorType<T>只返回 typescript 中类的属性的泛型类型?
我想用两种不同的protect_from_forgery策略构建一个rails应用程序:一个用于Web应用程序,另一个用于API.
在我的应用程序控制器中,我有这行代码:protect_from_forgery with: :exception为了防止CSRF攻击,它可以正常工作.
在我的API命名空间中,我创建了一个从我的应用程序控制器继承的api_controller,它是API命名空间中所有其他控制器的父类,我更改了上面的代码: protect_from_forgery with: :null_session.
遗憾的是,我在尝试发出POST请求时出错:"无法验证CSRF令牌真实性".
我不想跳过API控制器中的verify_authenticity_token方法,我只想在我的应用程序中有两个不同的策略,那么如何覆盖应用程序控制器中定义的protect_from_forgery策略?
编辑:好的,所以我最终做了我最初不想做的事情:改变我的api_controller的继承:它现在继承自ActionController :: Base,而不再是我的应用程序控制器.它现在可以工作但是:
因此,如果有人有真正的方法来覆盖这种方法,我会很感激.