Skip to content

Commit b0f5203

Browse files
authored
Update README.md
1 parent 613d51d commit b0f5203

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed

README.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,102 @@ It include 3rd one, that is basically an example of how to implement a customize
1616

1717
PD:
1818
It uses HttpWebRequest instead of HttpClient in order to avoid having to use unsupported assemblies by SQL Server.
19+
20+
# How to...
21+
22+
### **Deployment Instruction**
23+
###### **STEP 1**
24+
`CREATE DATABASE TestDB;`
25+
`GO`
26+
###### **STEP 2**
27+
`USE TestDB`
28+
`GO`
29+
`sp_configure 'clr enabled',1`
30+
`RECONFIGURE`
31+
`GO`
32+
###### **STEP 3**
33+
`ALTER DATABASE TESTDB SET TRUSTWORTHY ON`
34+
`GO`
35+
###### **STEP 4**
36+
`CREATE ASSEMBLY [System.Runtime.Serialization]`
37+
`AUTHORIZATION dbo`
38+
`FROM N'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Runtime.Serialization.dll'`
39+
`WITH PERMISSION_SET = UNSAFE--external_access`
40+
`GO`
41+
###### **STEP 5**
42+
`CREATE ASSEMBLY [Newtonsoft.Json]`
43+
`AUTHORIZATION dbo`
44+
`FROM N'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Newtonsoft.Json.dll'`
45+
`WITH PERMISSION_SET = UNSAFE`
46+
`go`
47+
###### **STEP 6**
48+
49+
`CREATE ASSEMBLY [API_Consumer]`
50+
`AUTHORIZATION dbo`
51+
`FROM N'C:\CLR\API_Consumer.dll'`
52+
`WITH PERMISSION_SET = UNSAFE`
53+
54+
`GO`
55+
###### **STEP 7**
56+
`PRINT N'Creating [dbo].[APICaller_GET_Json]...';`
57+
`GO`
58+
`CREATE PROCEDURE [dbo].[APICaller_GET_Json]`
59+
`@URL NVARCHAR (MAX) NULL`
60+
`AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Json]`
61+
62+
### **Sample of calling Get Method**
63+
-- How to consume GET API
64+
-- How to show Json results.
65+
66+
`DECLARE @RoutingNumber AS VARCHAR(50) = '122242597'`
67+
68+
`--Public API: routingnumbers.info`
69+
`DECLARE @Url VARCHAR(200) = CONCAT('https://www.routingnumbers.info/api/name.json?','rn=',@RoutingNumber) `
70+
71+
`DECLARE @Results AS TABLE`
72+
`(`
73+
`Context varchar(max)`
74+
`)`
75+
76+
`DECLARE @Result AS VARCHAR(MAX)`
77+
78+
`INSERT INTO @Results`
79+
`EXEC [dbo].[APICaller_GET_Json] @Url`
80+
81+
`--Result: Row per value `
82+
83+
`SELECT B.*`
84+
`FROM (`
85+
`SELECT Context `
86+
`from @Results`
87+
`)tb`
88+
`OUTER APPLY OPENJSON (context) B`
89+
90+
`--Result: column per value.`
91+
`SELECT `
92+
`[name] `
93+
`,[rn] `
94+
`,[message] `
95+
`,[code] `
96+
`FROM (`
97+
`SELECT Context `
98+
`from @Results`
99+
`)tb`
100+
`OUTER APPLY OPENJSON (context) `
101+
`WITH`
102+
`( [name] VARCHAR(20) '$.name'`
103+
`, [rn] VARCHAR(20) '$.rn'`
104+
`, [message] VARCHAR(20) '$.message'`
105+
`, [code] INT '$.code'`
106+
`);`
107+
108+
### **Sample of calling Authentication Get/POST Method**
109+
110+
EXEC [dbo].APICaller_POST
111+
@URL = ' http://localhost:5000/api/auth/login'
112+
, @Body = '{"username": "geraldo","password": "password"}'
113+
114+
115+
EXEC [dbo].APICaller_GETAuth
116+
@URL = 'http://localhost:5000/api/values'
117+
, @Token = 'Bearer aeyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJuYW1laWQiOiIxIiwidW5pcXVlX25hbWUiOiJnZXJhbGRvIiwibmJmIjoxNTM4MTA3NDkxLCJleHAiOjE1MzgxOTM4OTEsImlhdCI6MTUzODEwNzQ5MX0.j9kX5KXJP6yHBJZZK07tNQayyUkuQf8CtoDDDwdPISZy0eb9RQvnooB3oMND54-5Yzv5LMO9nuM69t2PJh5iXw'

0 commit comments

Comments
 (0)