Web Api 传递额外的“默认”参数作为强制输入

发布于 2025-01-13 04:12:48 字数 306 浏览 1 评论 0原文

我有一个具有多种方法的控制器。每个方法都有一个独特的输入模型和不同的 Http 方法(GET/POST/Etc ...)。我希望能够支持在几种方法中重复的多个默认属性。

默认情况下需要输入到所有输入模型的重复模型示例:

string TrackingId;
string TrackingTime;

我知道我可以使用OOP来包装每个InputModel,但是是否可以使用Api控制器库或特定属性< /strong> 描述每个请求的附加模型?

I have a Controller with multiple methods. each method has a unique Input model and diffrent Http method (GET/POST/Etc ...) . I would like to have the ability to support multiple default properties that repeat in few methods.

Repeated model that needed to be input by default to all Input Models Example:

string TrackingId;
string TrackingTime;

I know i can use OOP, to wrap each InputModel, But is it possible to use Api controller library or specific Attribute to describe an attached model to each request?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘亓 2025-01-20 04:12:48

经过多次尝试,唯一合理的解决方案是使用具有默认要求的 Specific 类包装输入模型。

public class DefaultParams{
    public string trackingParam {get; set;}
}
public class InputModelA : DefaultParams {
    public string a {get; set;}
    public string b {get; set;}
}

另一个好的解决方案是使用 HttpContext 并在自定义属性实现中查找特定值。这个方法实施起来并不容易,我最终没有使用它。

After many tries, the only reasonable solution was to wrap input models with Specific class with the default requirements.

public class DefaultParams{
    public string trackingParam {get; set;}
}
public class InputModelA : DefaultParams {
    public string a {get; set;}
    public string b {get; set;}
}

another good solution was to use HttpContext and look for specific values within a custom Attribute implementation. this method wasn't easy to implement and i end up not using it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文