0% found this document useful (0 votes)
12 views

Week#8(WebAPI)

API Engineering & Cloud COmputing, Web API- Centennial College

Uploaded by

longquan98
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views

Week#8(WebAPI)

API Engineering & Cloud COmputing, Web API- Centennial College

Uploaded by

longquan98
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 25

API Engineering & Cloud Computing

Yin Hua Li
Centennial College

Week#8

Topic: Web API

1
¡ Web API offers a simple communication
technology based on Representational State
Transfer (REST)

2
3
4
5
6
7
¡ Add data model

8
¡ Install NuGet Package

¡ Create Database Context class

9
¡ Register the database context

10
11
12
Object

ControllerBase

Controller
ControllerBase:
a base class for a
MVC controller
without view support

13
14
¡ The OpenAPI specification(here) is a language-
agnostic specification for machine-readable
interface files for describing, producing,
consuming and visualizing RESTful API

¡ OpenAPI allows both computer and humans to


understand the capabilities of a service without
any direct access to the implementation (source
code, network access, documentation)

15
¡ RESTful API metadata includes 5 parts
§ Resource description
▪ Resource refers to the information returned by an API
§ Endpoints and methods
▪ The endpoints indicate how you access the resource, and the
method used with the endpoint indicates the allowed
interactions (i.e., GET, POST, PUT or DELETE) with the
resource
§ Parameters
§ Request example
§ Response example

16
¡ Web API routing matches the URI of a HTTP request to a
particular action (method) in an API controller.
¡ There are two ways of routing
§ Convention-based routing

§ Attribute-based routing (recommended for Web API)


▪ Place [Route] on the controller or the action
▪ The [HttpGet] attribute denotes a method that responds to an HTTP GET
request. If no [Route] attribute is provided for a method, the URL path for
this method is constructed as following
▪ Take the template string provided by the controller’s [Route] attribute
▪ Replace [controller] with the name of the controller which is the controller class name
excluding the “Controller” suffix. E.g., for TodoItemsController, “TodoItems” should
be used to replace [controller] in [Route] template
17
¡ Please note that
§ Route is used at controller level to provide a template that will
prefix all templates defined at action level
18
19
20
¡ Postman is currently one of the most popular tools used in API testing
¡ Go to https://www.getpostman.com/downloads/ and choose your desired
platform

21
22
23
24
¡ https://learn.microsoft.com/en-us/aspnet/core/tutorials/first-web-api?view=aspnetcore-
6.0&tabs=visual-studio
¡ https://learn.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/routing-
in-aspnet-web-api

25

You might also like