1
00:00:00,360 --> 00:00:04,290
-: Okay, so we've reached the end of this course.

2
00:00:04,290 --> 00:00:07,650
So let's have a short wrap up of what we've learned.

3
00:00:07,650 --> 00:00:11,220
So first we discussed about why REST API.

4
00:00:11,220 --> 00:00:13,860
So we said that REST API is currently

5
00:00:13,860 --> 00:00:18,120
the defacto standard API for web APIs.

6
00:00:18,120 --> 00:00:21,780
It is used by all major websites.

7
00:00:21,780 --> 00:00:23,640
Developers come to expect it.

8
00:00:23,640 --> 00:00:27,270
So when a developer would like to use your website's API,

9
00:00:27,270 --> 00:00:31,656
he or she will assume that the API is a REST API.

10
00:00:31,656 --> 00:00:34,380
REST API is supported by all platforms

11
00:00:34,380 --> 00:00:37,830
so it doesn't matter which platform you are developing on.

12
00:00:37,830 --> 00:00:41,520
It probably has libraries for exposing REST API.

13
00:00:41,520 --> 00:00:44,640
REST API also is one of the top skills today

14
00:00:44,640 --> 00:00:45,473
in the industry.

15
00:00:45,473 --> 00:00:47,490
So there is a lot of demand

16
00:00:47,490 --> 00:00:51,840
for developers with experience and knowledge about REST API.

17
00:00:51,840 --> 00:00:55,050
And REST API is very easy to implement.

18
00:00:55,050 --> 00:00:56,973
So again it doesn't matter which platform

19
00:00:56,973 --> 00:00:58,710
you are developing on,

20
00:00:58,710 --> 00:01:01,170
the implementation of REST API as opposed

21
00:01:01,170 --> 00:01:06,170
to other APIs such as GraphQL or SOAP is very simple.

22
00:01:06,180 --> 00:01:08,550
So what we've learned in this course,

23
00:01:08,550 --> 00:01:11,250
we began with the obligatory welcome lecture

24
00:01:11,250 --> 00:01:13,470
and then we talked about API basics,

25
00:01:13,470 --> 00:01:17,040
what is an API and where should we use it.

26
00:01:17,040 --> 00:01:20,310
We also talked about various types of API

27
00:01:20,310 --> 00:01:23,130
and then we talked about web APIs.

28
00:01:23,130 --> 00:01:25,740
We compared various web API types such

29
00:01:25,740 --> 00:01:30,180
as SOAP, REST, GraphQL, and GRPC.

30
00:01:30,180 --> 00:01:33,750
And then we started to talk specifically about REST.

31
00:01:33,750 --> 00:01:37,031
So we first covered the basics of REST

32
00:01:37,031 --> 00:01:41,040
and before continuing on to deep dive into

33
00:01:41,040 --> 00:01:42,600
the REST specifications,

34
00:01:42,600 --> 00:01:46,380
we introduced ourselves to Beeceptor and Postman

35
00:01:46,380 --> 00:01:49,083
which we'll be using later in this course.

36
00:01:50,460 --> 00:01:53,220
After that, we started talking about the HTTP verbs.

37
00:01:53,220 --> 00:01:56,247
We explained the main verbs and the role

38
00:01:56,247 --> 00:01:58,890
and when should we use each one of them.

39
00:01:58,890 --> 00:02:02,400
And then we started talking about the URL structure

40
00:02:02,400 --> 00:02:04,950
which is probably the most important topic

41
00:02:04,950 --> 00:02:06,450
in this whole course.

42
00:02:06,450 --> 00:02:09,840
So in the URL structure, we analyzed a well thought

43
00:02:09,840 --> 00:02:14,550
of URL of an API and explained the values parts of this URL.

44
00:02:14,550 --> 00:02:17,220
We then began to talk about response codes.

45
00:02:17,220 --> 00:02:20,397
We talked about the three groups of the response codes

46
00:02:20,397 --> 00:02:24,123
and understood when should we use each one of those.

47
00:02:25,830 --> 00:02:27,930
Our next topic is the documentation.

48
00:02:27,930 --> 00:02:32,310
We talked about Swagger or open API as it is called today

49
00:02:32,310 --> 00:02:34,260
explained why it's important

50
00:02:34,260 --> 00:02:36,543
and even demonstrated how to use it.

51
00:02:37,380 --> 00:02:39,480
Versioning was our next topic.

52
00:02:39,480 --> 00:02:40,710
We talked about again,

53
00:02:40,710 --> 00:02:45,120
the importance of versioning and discussed various patterns

54
00:02:45,120 --> 00:02:48,090
of where the version should be in the API

55
00:02:48,090 --> 00:02:52,806
whether in the URL, the query parameters, or the header.

56
00:02:52,806 --> 00:02:55,950
Our next topic was Authentication and Authorization

57
00:02:55,950 --> 00:02:58,710
with special focus on 0 of 2

58
00:02:58,710 --> 00:03:01,560
We explained the flow of authentication and authorization

59
00:03:01,560 --> 00:03:02,850
with O of two.

60
00:03:02,850 --> 00:03:04,860
We talked about the JWT,

61
00:03:04,860 --> 00:03:06,297
the Jason web token

62
00:03:06,297 --> 00:03:09,270
and explained what is the API role

63
00:03:09,270 --> 00:03:10,833
in the authentication flow.

64
00:03:11,850 --> 00:03:14,760
When talking about performance, we discussed some techniques

65
00:03:14,760 --> 00:03:17,611
to improve the performance of the API

66
00:03:17,611 --> 00:03:22,080
and also emphasized that performance is not strictly

67
00:03:22,080 --> 00:03:25,122
an API topic but is more related to the underlying code

68
00:03:25,122 --> 00:03:27,120
of the API.

69
00:03:27,120 --> 00:03:29,550
With monitoring, we explained what exactly should be

70
00:03:29,550 --> 00:03:31,080
monitored in the API.

71
00:03:31,080 --> 00:03:34,039
We talked about things such as request per second,

72
00:03:34,039 --> 00:03:38,370
latency failures, CPU, RAM, and more.

73
00:03:38,370 --> 00:03:41,790
And we even saw a demo using the Azure application insight

74
00:03:41,790 --> 00:03:43,710
of monitoring.

75
00:03:43,710 --> 00:03:46,890
Later on we discussed the advanced topic and we talk

76
00:03:46,890 --> 00:03:51,060
about the head to us with a demo using the Genie application

77
00:03:51,060 --> 00:03:52,230
from Netflix.

78
00:03:52,230 --> 00:03:55,144
And we discussed the API gateway and the discovery

79
00:03:55,144 --> 00:03:56,223
patterns.

80
00:03:57,240 --> 00:04:01,290
And here we are as a conclusion of this course.

81
00:04:01,290 --> 00:04:04,020
So I really hope this course was helpful to you

82
00:04:04,020 --> 00:04:06,357
and I'm sure you can now design and build

83
00:04:06,357 --> 00:04:10,399
a much better REST API which is easier to use,

84
00:04:10,399 --> 00:04:11,820
easy to understand,

85
00:04:11,820 --> 00:04:15,450
and very attractive for the developers using it.

86
00:04:15,450 --> 00:04:16,950
As I've mentioned before,

87
00:04:16,950 --> 00:04:19,740
I want this course to be as practical as possible

88
00:04:19,740 --> 00:04:23,460
and for this exact reason I've prepared a special checklist

89
00:04:23,460 --> 00:04:25,350
which you can download right now.

90
00:04:25,350 --> 00:04:28,620
This checklist will guide you on your REST API journey

91
00:04:28,620 --> 00:04:31,380
and it contains all the practical knowledge learned

92
00:04:31,380 --> 00:04:32,850
in this course.

93
00:04:32,850 --> 00:04:35,910
Using this checklist we ensure the REST API you design

94
00:04:35,910 --> 00:04:38,040
will be professional, easy to use,

95
00:04:38,040 --> 00:04:40,530
and very attractive for developers.

96
00:04:40,530 --> 00:04:43,110
So don't forget to download it at the end

97
00:04:43,110 --> 00:04:46,170
of this course and I'm sure it'll come handy when

98
00:04:46,170 --> 00:04:48,690
you will design your own REST API.

99
00:04:48,690 --> 00:04:51,748
So take a look now at the resources of this lecture

100
00:04:51,748 --> 00:04:54,300
and download the checklist that will make your

101
00:04:54,300 --> 00:04:58,233
life much easier when designing great REST API.

102
00:04:59,070 --> 00:05:02,550
So thanks so much and if you have any questions

103
00:05:02,550 --> 00:05:05,010
or any comments, feel free to be in touch

104
00:05:05,010 --> 00:05:08,490
and I promise to answer any question that you will send me.

105
00:05:08,490 --> 00:05:10,833
So thank you and goodbye.

