Changes for page HTTP Resources

Last modified by Erik Bakker on 2024/08/23 10:51

From version 23.1
edited by Danniar Firdausy
on 2024/08/21 10:31
Change comment: There is no comment for this version
To version 6.1
edited by Erik Bakker
on 2023/01/20 14:17
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -HTTP Resources
1 +HTTP Resource (Paths)
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.dfirdausy
1 +XWiki.ebakker
Content
... ... @@ -1,7 +1,8 @@
1 1  {{container}}{{container layoutStyle="columns"}}(((
2 -In this microlearning, we will dive into the essentials of HTTP Resource Paths. A crucial part of setting up your API Gateway with the help of RESTful services is knowing to which resources (e.g., Order, Client, Employee) you want to give external parties access to your business processes via your API Gateway. Let us explore the best practices and foundational concepts to effectively set up your API Gateway.
2 +In this microlearning, we will focus on learning about HTTP Resource (Paths).
3 +A crucial part of setting up your (API) Gateway with the help of RESTful services is knowing to which resources (i.e. Order, Client, Employee) you want to give external parties access via your (API) Gateway.
3 3  
4 -If you have any questions along the way, feel free to reach out to us at [[academy@emagiz.com>>mailto:academy@emagiz.com]].
5 +Should you have any questions, please contact [[academy@emagiz.com>>mailto:academy@emagiz.com]].
5 5  
6 6  == 1. Prerequisites ==
7 7  
... ... @@ -10,16 +10,30 @@
10 10  == 2. Key concepts ==
11 11  
12 12  This microlearning centers around HTTP Resource (Paths) in conjunction with the API Gateway solution of eMagiz.
14 +With HTTP Resource Paths we mean: Identify the resource (i.e. Client, Order, Employee) and define the descriptive path (i.e. /v1/order, /v1/order/{uuid}) an external party can call to execute the operation
15 +With API Gateway we mean: A collection of RESTful API operations that can be published to the outside world to give them access to applications that are linked to your business process
13 13  
14 -With HTTP Resource Paths we mean: Identify the resource (e.g., Client, Order, Employee) and define the descriptive path (i.e., {{code language=text}}/v1/order{{/code}}, {{code language=text}}/v1/order/{uuid}{{/code}}) an external party can call to execute the operation.
17 +When determining the correct resource path to expose to the outside world start at what you want to make publicly available.
18 +For example, when you want to make it possible for external parties to retrieve a collection of orders without any filter a valid resource path can be:
15 15  
16 -With API Gateway we mean: A collection of RESTful API operations that can be published to the outside world to give them access to applications that are linked to your business process.
20 +* /orders
17 17  
22 +If you have multiple resources that you want to make available that all have something to do with the order process you could add each of them to a 'group' to add an extra layer of information:
23 +
24 +* /order-management/orders
25 +* /order-management/trips
26 +
27 +To determine the correct notation also take into account how the backend system that you want to expose via the API Gateway has determined their HTTP Resource (Paths).
28 +If this adheres to the best practice simply use that. More on that specific relation in later microlearnings.
29 +
30 +A list of best practices can be found here:
31 +[[REST API naming concepts>>https://restfulapi.net/resource-naming/||target="blank"]]
32 +
18 18  == 3. HTTP Resource (Paths) ==
19 19  
20 20  This microlearning focuses on the theoretical part of HTTP Resources regardless of a specific implementation in eMagiz. In the microlearnings that will come, we will use this theoretical knowledge when we configure our API Gateway further.
21 21  
22 -When determining the correct resource path to expose to the outside world, start at what you want to make publicly available.
37 +When determining the correct resource path to expose to the outside world start at what you want to make publicly available.
23 23  For example, when you want to make it possible for external parties to retrieve a collection of orders without any filter a valid resource path can be:
24 24  
25 25  * /orders
... ... @@ -38,20 +38,23 @@
38 38  In the following microlearning on HTTP Operations, we will bring the HTTP Resource (Paths) together with the HTTP Operations.
39 39  That combination is the basis for any integration that runs via the API Gateway.
40 40  
41 -== 4. Key takeaways ==
56 +== 4. Assignment ==
42 42  
58 +Read up on the best practices when it comes to the naming of HTTP Resource Paths and see if you can relate this to the eMagiz implementation.
59 +This assignment can be completed with the help of the (Academy) project that you have created/used in the previous assignment.
60 +
61 +== 5. Key takeaways ==
62 +
43 43  * Start at the backend operation
44 44  * Determine usability of what is provided to you
45 45  * Take action based on that analysis
46 46  
47 -== 5. Suggested Additional Readings ==
67 +== 6. Suggested Additional Readings ==
48 48  
49 49  If you are interested in this topic and want more information on it please read the help text provided by eMagiz and read the following links:
50 50  
51 -* [[REST API naming concepts (External)>>https://restfulapi.net/resource-naming/||target="blank"]]
52 -* [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
53 -** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]]
54 -*** [[Swagger UI (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-swagger-ui||target="blank"]]
55 -*** [[HTTP Operations (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-http-operations||target="blank"]]
56 -* [[HTTP Resources (Search Results)>>url:https://docs.emagiz.com/bin/view/Main/Search?sort=score&sortOrder=desc&highlight=true&facet=true&r=1&f_space_facet=0%2FMain.&l_space_facet=10&f_type=DOCUMENT&f_locale=en&f_locale=&f_locale=en&text=%22HTTP+Resources%22||target="blank"]]
57 -)))((({{toc/}}))){{/container}}{{/container}}
71 +* [[REST API naming concepts>>https://restfulapi.net/resource-naming/||target="blank"]]
72 +
73 +== 7. Silent demonstration video ==
74 +
75 +As this is a more theoretical microlearning no demonstration video is created. See you in the next microlearning.)))((({{toc/}}))){{/container}}{{/container}}