网络 API 方法
Web API approach
我是网络新手API,我已经阅读了一些文档,但对体系结构有一点误解。 IE。我需要为不同的实体创建许多 get 方法。但是我可以有一个而且只有一个没有参数的 GET 方法。所以,我必须再创建一个 API 控制器,即使这个控制器根本只有一种方法?这个限制有什么意义?
从 URLs/routes 的角度思考。如果你想访问 Foo 实体,你会去 /api/foo,如果你想访问 Bar 实体,你会去 /api/bar.
话虽如此,这是约定俗成的,你想打破也可以。您绝对可以在一个控制器中拥有多个 GET 方法。该行动只需要有一条不同的路线。您可以使用属性路由进行设置,例如
public class FooBarController : ApiController
{
[Route("foo")]
public Foo Get() {...}
[Route("bar")]
public Bar GetBar() {...}
}
但是,对于不同的资源,您通常希望坚持使用不同的控制器,因为它使您的代码更易于维护 - 它允许模型和控制器之间的明确关联。拥有许多小型控制器并没有错。
我是网络新手API,我已经阅读了一些文档,但对体系结构有一点误解。 IE。我需要为不同的实体创建许多 get 方法。但是我可以有一个而且只有一个没有参数的 GET 方法。所以,我必须再创建一个 API 控制器,即使这个控制器根本只有一种方法?这个限制有什么意义?
从 URLs/routes 的角度思考。如果你想访问 Foo 实体,你会去 /api/foo,如果你想访问 Bar 实体,你会去 /api/bar.
话虽如此,这是约定俗成的,你想打破也可以。您绝对可以在一个控制器中拥有多个 GET 方法。该行动只需要有一条不同的路线。您可以使用属性路由进行设置,例如
public class FooBarController : ApiController
{
[Route("foo")]
public Foo Get() {...}
[Route("bar")]
public Bar GetBar() {...}
}
但是,对于不同的资源,您通常希望坚持使用不同的控制器,因为它使您的代码更易于维护 - 它允许模型和控制器之间的明确关联。拥有许多小型控制器并没有错。