Changes for page HTTP Resources

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

From version 26.1
edited by Erik Bakker
on 2024/08/23 10:50
Change comment: There is no comment for this version
To version 8.1
edited by Eva Torken
on 2023/06/08 11:33
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ebakker
1 +XWiki.etorken
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,11 +10,25 @@
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.
... ... @@ -22,12 +22,12 @@
22 22  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 -* {{code language=text}}/orders{{/code}}
40 +* /orders
26 26  
27 27  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:
28 28  
29 -* {{code language=text}}/order-management/orders{{/code}}
30 -* {{code language=text}}/order-management/trips{{/code}}
44 +* /order-management/orders
45 +* /order-management/trips
31 31  
32 32  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).
33 33  If this adheres to the best practice simply use that. More on that specific relation in later microlearnings.
... ... @@ -48,10 +48,5 @@
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 -* [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
52 -** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]]
53 -*** [[Swagger UI (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-swagger-ui||target="blank"]]
54 -*** [[HTTP Operations (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-http-operations||target="blank"]]
55 -* [[REST API naming concepts (External)>>https://restfulapi.net/resource-naming/||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}}
66 +* [[REST API naming concepts>>https://restfulapi.net/resource-naming/||target="blank"]]
67 +{{/container}}