在web api 2.0上设置mongodb的ObjectId为url参数

本文关键字:ObjectId url 参数 mongodb 设置 api web | 更新日期: 2023-09-27 18:05:08

我想通过URL 将mongodb ObjectId参数传递给控制器作为字符串

我知道在MVC中你可以使用ModelBinder。

如何在ASP中做到这一点?. NET WebApi 2.0?

在web api 2.0上设置mongodb的ObjectId为url参数

在控制器中使用ObjectId类型:

    [Route("{id}")]
    public IHttpActionResult Get(ObjectId id)

查看我的答案:https://stackoverflow.com/a/47107413/908936

. NET Web API具有与MVC相同的默认路由原则。

要传递直接映射到参数的值,只需将查询字符串中的属性与方法参数名称相匹配:

Call done to: {yourserver}/api/valuesasparam/Call ?myparam = 498574395734958

你ApiController:

public class ValuesAsParamController : ApiController
{
    [HttpGet]
    public IEnumerable<string> Call(string myparam)
    {
        // Do something with your 'myparam' value
    }
}
更新:

如果你想直接获得作为ObjectId的值,请在这里检查模型绑定。以及下面的代码将字符串转换为ObjectId:

MongoDB.Bson.ObjectId.Parse(myparam);