API文档 - Errors/ServerInteractive/XFE0008

代码诊断-XFE0008

描述

目标:XFEExtension.NetCore.ServerInteractive
代码:XFE0008
级别:❌️ 错误
描述:标记为 Request / Response 的方法不能包含参数。

我为何会看到此错误?

说明:

生成器会把请求/响应方法映射到 Dictionary<string, Func<object>>

Func<object> 只支持“无参数”方法签名,因此只要方法带参数,就无法绑定到生成的字典委托,进而触发该错误。

解决办法:

[Request] / [Response] 方法改成无参数。

如果确实需要输入数据,建议从统一上下文、请求对象或服务内部状态中获取,而不是通过方法参数传入。

using XFEExtension.NetCore.ServerInteractive.Attributes;

namespace Demo;

public partial class UserRequestService : StandardRequestServiceBase
{
    // ❌ 错误写法:有参数
    [Request("api/user/create", Name = "CreateUser")]
    public object CreateUser(string userName)
    {
        return new { Ok = true, Name = userName };
    }
}
using XFEExtension.NetCore.ServerInteractive.Attributes;

namespace Demo;

public partial class UserRequestService : StandardRequestServiceBase
{
    private string _pendingUserName = "DefaultUser";

    // ✅ 正确写法:无参数
    [Request("api/user/create", Name = "CreateUser")]
    public object CreateUser()
    {
        return new { Ok = true, Name = _pendingUserName };
    }
}