7

我最近询问了关于 T4 视图模型的 C# 类,但这是不同的,所以我将它分成第二个问题

我想在 typescript 中自动生成客户端库,其中包括每个 Web api 方法的端点,这些方法用 HttpGet、Post、Put、Delete、Patch 属性装饰。

这将生成 jQuery ajax 调用来与 web api 调用交互。

有人见过这样的吗?我很想节省一些时间来编写 T4 脚本。

谢谢!

4

3 回答 3

5

看起来这个人使用 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 定义文件:

于 2013-11-22T07:42:38.993 回答
3

尝试使用焊接: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); 
于 2015-03-17T16:28:43.323 回答
0

我目前正在开发一个工具链来解决这个确切的问题:生成用于调用 Web API 控制器的客户端代码。

可以在T4 模板、cmd 行和 Windows GUI中调用生成器:

在此处输入图像描述

查看http://nswag.org

于 2015-09-25T07:29:35.193 回答