[]
什么是服务端Api?
活字格的服务端API类似于网站的控制器,可以声明Post或Get或 Schedule Api。
在活字格中如何开发自定义服务端Api?
在自定义插件项目的解决方案点击右键,在右键菜单中选择 “添加”-> “现有项目”。
找到当前项目中的“MyPlugin.Server.csproj”并选中,添加自定义中间件的模板工程。
添加后可以看到,在MyPlugin.Server工程里有两个文件,MyPluginMiddleware.cs 和 MyPluginMiddlewareInjector.cs, 删除这两个文件,添加一个ServerApi 文件。
修改后:
在MyServerApi.cs 添加以下代码:
using GrapeCity.Forguncy.ServerApi;
using Microsoft.AspNetCore.Http;
using System.Threading.Tasks;
namespace MyPlugin.Server
{
public class MyServerApi : ForguncyApi
{
[Get]
public async Task MyTestApi()
{
await this.Context.Response.WriteAsync("This is my api");
}
}
}
代码解释:定义了一个MyServerApi 类,声明了一个 Get Api,被调用时返回字符串 “This is my api”,如果标注 “PostAttribute”可以声明Post请求。
编译工程。
如何让活字格加载自定义服务端API
活字格有三种加载自定义服务端API的方式
通过“自定义Web Api ”上传服务端API DLL
测试, 运行网站,输入在 Forguncy 后输入 /customapi/myserverapi/mytestapi 访问。
给插件添加自定义服务端API
在MyPlugin工程中,右键点击依赖项,选择“添加项目引用”。
选择 MyPlugin.Server,单击确定。
修改 PluginConfig.json, 添加 serverApiAssembly 配置,值为 MyPlugin.Server.dll。
完成后,只要网站使用了任意插件,都会加载自定义服务端API。
拷贝自定义服务端API到活字格服务器的指定目录
此方法的好处是不需要重新发布应用即可替换自定义服务端API。