用相同函数建立 API 和网页表单
创建一个简单的 APIFunction 来计算阶乘.
In[1]:=
![Click for copyable input](assets.zh/make-an-api-and-a-web-form-from-the-same-function/In_3.png)
api = APIFunction["n" -> "Integer", #n! &]
Out[1]=
![](assets.zh/make-an-api-and-a-web-form-from-the-same-function/O_3.png)
如果对一个网站提供 APIFunction 同时又想为直接访问该网站的用户提供 FormFunction,该如何做到呢?需要注意的是,由于 FormFunction 和 APIFunction 具有相同的签名,你其实不必重写任何代码.
In[2]:=
![Click for copyable input](assets.zh/make-an-api-and-a-web-form-from-the-same-function/In_4.png)
CloudDeploy[URLDispatcher[{
"/api" -> api,
"/form" -> FormFunction @@ api
}],
"user:documentation@wolfram.com/application"
]
现在可以通过访问 https://www.wolframcloud.com/objects/documentation@wolfram.com/application/api?n=10 来使用 API.
![](assets.zh/index.zh/GB_5.png)
或者访问 https://www.wolframcloud.com/objects/documentation@wolfram.com/application/form 来直接使用表单.
![](assets.zh/index.zh/GB_6.png)