如果您使用多个物理上独立的库,LibraryName(也许)是有道理的(但会出现一些明显的位置问题)?
请注意,您可能会开始使用此方法遇到路由地狱,但这并非不可能,因此我会先研究并定义您的结构。
使用以下 URI 结构可能会更好:
/libraries/{LibraryName}/books/
获取 libraryName 中的书籍列表
/libraries/{LibraryName}/books/{BookISBN}
通过 ISBN 号获取一本书
/libraries/{LibraryName}/books?category=somecategory
获取某个类别的书籍列表
使用示例路线:
routes.MapRoute(
name: "LibraryBooks",
url: "libraries/{id}/books",
defaults: new { controller = "Libraries", action = "GetBooks" }
);
它是 LibrariesController 中的方法:
public IEnumerable<IBook> GetBooks(string id)
{
return new IBook[] { new Book(), new Book() };
}