我最近询问了关于 T4 视图模型的 C# 类,但这是不同的,所以我将它分成第二个问题
我想在 typescript 中自动生成客户端库,其中包括每个 Web api 方法的端点,这些方法用 HttpGet、Post、Put、Delete、Patch 属性装饰。
这将生成 jQuery ajax 调用来与 web api 调用交互。
有人见过这样的吗?我很想节省一些时间来编写 T4 脚本。
谢谢!
我最近询问了关于 T4 视图模型的 C# 类,但这是不同的,所以我将它分成第二个问题
我想在 typescript 中自动生成客户端库,其中包括每个 Web api 方法的端点,这些方法用 HttpGet、Post、Put、Delete、Patch 属性装饰。
这将生成 jQuery ajax 调用来与 web api 调用交互。
有人见过这样的吗?我很想节省一些时间来编写 T4 脚本。
谢谢!
看起来这个人使用 T4 为他的 Web API 服务生成了一个 TypeScript 代理。 http://galador.net/codeblog/post/2013/11/12/Client-Side-Web-Application-primer.aspx
但是,如果您的唯一客户端将来自浏览器,您可能需要考虑使用 SignalR 来代替此 T4 模板。 https://gist.github.com/robfe/4583549
还有一些库可以从 CLR 类型生成 TypeScript 定义文件:
尝试使用焊接:https ://weld.codeplex.com/
您所要做的就是为您的控制器操作添加一个属性,Weld 将创建一个打字稿代理。
从他们的网站:
代替:
[HttpGet]
public int Sum(int x,int y)
{
return x + y;
}
并使用 $.ajax
var url = "/Home/Sum";
var data = { x: 2 , y: 3};
$.ajax({
url: url,
data: data,
success: showResult
});
只需添加一个属性:
[AjaxMethod]
并在您的打字稿中执行此操作:
HomeController.prototype.Sum(2, 3, showResult);
我目前正在开发一个工具链来解决这个确切的问题:生成用于调用 Web API 控制器的客户端代码。
可以在T4 模板、cmd 行和 Windows GUI中调用生成器: