Wiki source code of HTTP Resources

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

Hide last authors
Erik Bakker 2.1 1 {{container}}{{container layoutStyle="columns"}}(((
Danniar Firdausy 16.1 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.
eMagiz 1.1 3
Danniar Firdausy 16.1 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
eMagiz 1.1 6 == 1. Prerequisites ==
7
8 * Basic knowledge of the eMagiz platform
9
10 == 2. Key concepts ==
11
12 This microlearning centers around HTTP Resource (Paths) in conjunction with the API Gateway solution of eMagiz.
Danniar Firdausy 23.1 13
Danniar Firdausy 25.1 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.
Danniar Firdausy 23.1 15
Danniar Firdausy 25.1 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.
eMagiz 1.1 17
18 == 3. HTTP Resource (Paths) ==
19
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
Eva Torken 7.1 22 When determining the correct resource path to expose to the outside world, start at what you want to make publicly available.
eMagiz 1.1 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
Danniar Firdausy 24.1 25 * {{code language=text}}/orders{{/code}}
eMagiz 1.1 26
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
Danniar Firdausy 24.1 29 * {{code language=text}}/order-management/orders{{/code}}
30 * {{code language=text}}/order-management/trips{{/code}}
eMagiz 1.1 31
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 If this adheres to the best practice simply use that. More on that specific relation in later microlearnings.
34
35 A list of best practices can be found here:
Erik Bakker 6.1 36 [[REST API naming concepts>>https://restfulapi.net/resource-naming/||target="blank"]]
eMagiz 1.1 37
38 In the following microlearning on HTTP Operations, we will bring the HTTP Resource (Paths) together with the HTTP Operations.
39 That combination is the basis for any integration that runs via the API Gateway.
40
Eva Torken 8.1 41 == 4. Key takeaways ==
eMagiz 1.1 42
43 * Start at the backend operation
44 * Determine usability of what is provided to you
45 * Take action based on that analysis
46
Eva Torken 8.1 47 == 5. Suggested Additional Readings ==
eMagiz 1.1 48
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
Danniar Firdausy 13.1 51 * [[Crash Course (Menu)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.WebHome||target="blank"]]
Danniar Firdausy 13.2 52 ** [[Crash Course API Gateway (Navigation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.WebHome||target="blank"]]
Danniar Firdausy 13.1 53 *** [[Swagger UI (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-swagger-ui||target="blank"]]
Danniar Firdausy 15.1 54 *** [[HTTP Operations (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-http-operations||target="blank"]]
Erik Bakker 27.1 55 *** [[Parameters (Path, Query) (Explanation)>>doc:Main.eMagiz Academy.Microlearnings.Crash Course.Crash Course API Gateway.crashcourse-api-gateway-parameters||target="blank"]]
Erik Bakker 26.1 56 * [[REST API naming concepts (External)>>https://restfulapi.net/resource-naming/||target="blank"]]
Danniar Firdausy 14.1 57 * [[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"]]
Eva Torken 9.1 58 )))((({{toc/}}))){{/container}}{{/container}}