使用 ASP.NET Core MVC 创建 Web API

使用 ASP.NET Core MVC 创建 Web API(一)
<https://www.cnblogs.com/chillsrc/p/10614598.html>

使用 ASP.NET Core MVC 创建 Web API(二)
<https://www.cnblogs.com/chillsrc/p/10649898.html>

 

十、添加 GetBookItem 方法

    1) 在Visual Studio 2017中的“解决方案资源管理器”中双击打开BookController文件,添加Get方法的API。代码如下。
// GET: api/Book [HttpGet] public async Task<ActionResult<IEnumerable<Book>>>
GetBookItems() {return await _context.Book.ToListAsync(); } // GET: api/Book/5
[HttpGet("{id}")] public async Task<ActionResult<Book>> GetBookItem(int id) {
var bookItem = await _context.Book.FindAsync(id); if (bookItem == null) { return
NotFound(); }return bookItem; } 2)
将上面的代码添加到BookController文件中后,会在ToListAsync方法下出现波浪线,
这时需要把using Microsoft.EntityFrameworkCore;添加到文件开头。
    3) 这两个方法实现两个 GET 终结点:

* GET /api/book
* GET /api/book/{id}
    4) 在Visual Studio 2017中按F5,运行应用程序。然后在浏览器中分别调用两个终结点来测试应用。

    5) 在浏览器中输入“http://localhost:5000/api/book”查询所有书籍信息,如下图。

 

6) 在浏览器中输入“http://localhost:5000/api/book/8”查询指定有书籍信息,如下图。

 

十一、路由和 URL 路径

   [HttpGet] 属性表示响应 HTTP GET 请求的方法。 每个方法的 URL 路径构造如下所示:

* 在控制器的 Route 属性中以模板字符串开头:
namespace BookApi.Controllers { [Route("api/[controller]")] [ApiController]
public class BookController : Controller { private readonly BookContext
_context;
* 将 [controller] 替换为控制器的名称,按照惯例,在控制器类名称中去掉“Controller”后缀。
对于此示例,控制器类名称为“Book”控制器,因此控制器名称为“Book”。 ASP.NET Core 路由不区分大小写。
* 如果 [HttpGet] 属性具有路由模板(例如 [HttpGet("Book")]),则将它追加到路径。 此示例不使用模板。
    在下面的 GetBookItem 方法中,"{id}" 是书籍信息的唯一标识符的占位符变量。 调用 GetBookItem 时,URL 中
"{id}" 的值会在 id 参数中提供给方法。
// GET: api/Book/5 [HttpGet("{id}")] public async Task<ActionResult<Book>>
GetBookItem(int id) { var bookItem = await _context.Book.FindAsync(id); if
(bookItem ==null) { return NotFound(); } return bookItem; }
 

十二、测试 GetBookItems 方法

     本教程使用 Rester 测试 Web API。

       

      1) 安装Firefox的组件Rester

       2) 在Visual Studio 2017中启动 Web 应用程序。

       3) 打开Rester。

       4) 创建新请求,将 HTTP 方法设置为“GET”,将请求 URL 设置为
http://localhost:5000/api/Book/24。如下图。

 

       5)  选择“Send”。  返回结果,如下图。

 

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信