...
This example will guide you through creating a simple REST API endpoint that retrieves and returns data from two database tables. For our example we will use an Employee and an Office table.
This example queries each table separately to demonstrate how easily you can add multiple steps. These same results can be achieved with a single step by joining the tables as shown in this example: Create API that joins two tables and returns results
In this example we will build the logic manually, however, you can also get started quicker by using the Autogenerating APIs from tables option for one of the tables first.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
INSERT INTO `employees` (`empNumber`, `lastName`, `firstName`, `extension`, `email`, `officeCode`, `reportsTo`, `jobTitle`) VALUES (1056,'Patterson','Mary','x4611','mpatterso@classicmodelcars.com',1,1002,'VP Sales'), (1076,'Firrelli','Jeff','x9273','jfirrelli@classicmodelcars.com',1,1002,'VP Marketing'), (1088,'Patterson','William','x4871','wpatterson@classicmodelcars.com',6,1056,'Sales Manager (APAC)'), (1102,'Bondur','Gerard','x5408','gbondur@classicmodelcars.com',4,1056,'Sale Manager (EMEA)'), (1143,'Bow','Anthony','x5428','abow@classicmodelcars.com',1,1056,'Sales Manager (NA)'), (1165,'Jennings','Leslie','x3291','ljennings@classicmodelcars.com',1,1143,'Sales Rep'), (1166,'Thompson','Leslie','x4065','lthompson@classicmodelcars.com',1,1143,'Sales Rep'), (1188,'Firrelli','Julie','x2173','jfirrelli@classicmodelcars.com',2,1143,'Sales Rep'), (1216,'Patterson','Steve','x4334','spatterson@classicmodelcars.com',2,1143,'Sales Rep'), (1286,'Tseng','Foon Yue','x2248','ftseng@classicmodelcars.com',3,1143,'Sales Rep'), (1323,'Vanauf','George','x4102','gvanauf@classicmodelcars.com',3,1143,'Sales Rep'), (1337,'Bondur','Loui','x6493','lbondur@classicmodelcars.com',4,1102,'Sales Rep'), (1370,'Hernandez','Gerard','x2028','ghernande@classicmodelcars.com',4,1102,'Sales Rep'), (1401,'Castillo','Pamela','x2759','pcastillo@classicmodelcars.com',4,1102,'Sales Rep'), (1501,'Bott','Larry','x2311','lbott@classicmodelcars.com',7,1102,'Sales Rep'), (1504,'Jones','Barry','x102','bjones@classicmodelcars.com',7,1102,'Sales Rep'), (1611,'Fixter','Andy','x101','afixter@classicmodelcars.com',6,1088,'Sales Rep'); INSERT INTO `offices` (`empNumber`, `city`, `phone`, `address1`, `address2`, `state`, `country`, `postalCode`, `territory`) VALUES (1,'San Francisco','+1 650 219 4782','100 Market Street','Suite 300','CA','USA','94080','NA'), (2,'Boston','+1 215 837 0825','1550 Court Place','Suite 102','MA','USA','02107','NA'), (3,'New York City','+1 212 555 3000','523 East 53rd Street','apt. 5A','NY','USA','10022','NA'), (4,'Paris','+33 14 723 4404','43 Rue Jouffroy Dabbans','','','France','75017','EMEA'), (5,'Tokyo','+81 33 224 5000','4-1 Kioicho','','Chiyoda-Ku','Japan','102-8578','Japan'), (6,'Sydney','+61 2 9264 2451','5-11 Wentworth Avenue','Floor #2','','Australia','NSW 2010','APAC'), (7,'London','+44 20 7877 2041','25 Old Broad Blvd','Level 7','','UK','EC2N 1HN','EMEA'), (8,'Hiddenite','+1 555 555 1212','221 Craftmaster Rd','-','NC','USA','28636','NA'); |
Open the workspace
(If you haven't created an example workspace, create a workspace called papihello. See Using Profound API Workspaces)
Open the example workspace by pointing your browser to the URL:
...
- Name: employee
- Summary: get employee information
HTTP Method: get
HTTP Path: /employee/:employeeNumber
Info Notice the colon before the employeeNumber. This indicates that employeeNumber is a required path parameter.
Specifying a parameter this way will automatically add it to the Input Parameters list.
- Category, Sub Category, Tag, and Description all help improve documentation and organization.
Input Parameters
It is always best to create parameters before building logic because the parameters will then appear as drop down options when adding logic steps.
This example is a basic GET API that requires an Employee Number as a parameter and will return some information about the employee and the office they are associated with.
...