Versioning using Query String

10 minutes
Share the link to this page
Copied
  Completed
You need to have access to the item to view this lesson.
One-time Fee
$49.99
List Price:  $69.99
You save:  $20
€46.41
List Price:  €64.98
You save:  €18.57
£39.74
List Price:  £55.64
You save:  £15.89
CA$68.36
List Price:  CA$95.72
You save:  CA$27.35
A$75.43
List Price:  A$105.61
You save:  A$30.18
S$67.50
List Price:  S$94.51
You save:  S$27
HK$390.66
List Price:  HK$546.96
You save:  HK$156.29
CHF 45.28
List Price:  CHF 63.39
You save:  CHF 18.11
NOK kr542.32
List Price:  NOK kr759.29
You save:  NOK kr216.97
DKK kr346.21
List Price:  DKK kr484.72
You save:  DKK kr138.51
NZ$83.04
List Price:  NZ$116.27
You save:  NZ$33.22
د.إ183.60
List Price:  د.إ257.06
You save:  د.إ73.45
৳5,477.48
List Price:  ৳7,668.91
You save:  ৳2,191.43
₹4,173.46
List Price:  ₹5,843.17
You save:  ₹1,669.71
RM236.90
List Price:  RM331.68
You save:  RM94.78
₦61,737.65
List Price:  ₦86,437.65
You save:  ₦24,700
₨13,884.75
List Price:  ₨19,439.77
You save:  ₨5,555.01
฿1,836.53
List Price:  ฿2,571.29
You save:  ฿734.76
₺1,613.79
List Price:  ₺2,259.44
You save:  ₺645.64
B$253.58
List Price:  B$355.04
You save:  B$101.45
R921.65
List Price:  R1,290.39
You save:  R368.73
Лв90.79
List Price:  Лв127.12
You save:  Лв36.32
₩67,757.86
List Price:  ₩94,866.43
You save:  ₩27,108.56
₪187.05
List Price:  ₪261.89
You save:  ₪74.83
₱2,856.96
List Price:  ₱3,999.98
You save:  ₱1,143.01
¥7,687.37
List Price:  ¥10,762.93
You save:  ¥3,075.56
MX$846.40
List Price:  MX$1,185.03
You save:  MX$338.62
QR182.04
List Price:  QR254.87
You save:  QR72.83
P679.94
List Price:  P951.97
You save:  P272.03
KSh6,711.15
List Price:  KSh9,396.15
You save:  KSh2,685
E£2,396.98
List Price:  E£3,355.96
You save:  E£958.98
ብር2,864.89
List Price:  ብር4,011.08
You save:  ብር1,146.18
Kz41,759.31
List Price:  Kz58,466.37
You save:  Kz16,707.06
CLP$47,049.08
List Price:  CLP$65,872.48
You save:  CLP$18,823.40
CN¥353.90
List Price:  CN¥495.49
You save:  CN¥141.59
RD$2,900.17
List Price:  RD$4,060.47
You save:  RD$1,160.30
DA6,724.18
List Price:  DA9,414.39
You save:  DA2,690.21
FJ$112.18
List Price:  FJ$157.07
You save:  FJ$44.88
Q387.94
List Price:  Q543.15
You save:  Q155.20
GY$10,441.17
List Price:  GY$14,618.48
You save:  GY$4,177.30
ISK kr6,976.60
List Price:  ISK kr9,767.80
You save:  ISK kr2,791.20
DH503.40
List Price:  DH704.80
You save:  DH201.40
L884.08
List Price:  L1,237.78
You save:  L353.70
ден2,857.75
List Price:  ден4,001.09
You save:  ден1,143.33
MOP$401.71
List Price:  MOP$562.43
You save:  MOP$160.71
N$923.86
List Price:  N$1,293.49
You save:  N$369.62
C$1,837.28
List Price:  C$2,572.34
You save:  C$735.06
रु6,663.84
List Price:  रु9,329.91
You save:  रु2,666.07
S/186.31
List Price:  S/260.85
You save:  S/74.53
K192.92
List Price:  K270.11
You save:  K77.18
SAR187.49
List Price:  SAR262.50
You save:  SAR75.01
ZK1,346.25
List Price:  ZK1,884.87
You save:  ZK538.61
L230.87
List Price:  L323.24
You save:  L92.36
Kč1,161.41
List Price:  Kč1,626.08
You save:  Kč464.66
Ft18,082.13
List Price:  Ft25,316.43
You save:  Ft7,234.30
SEK kr541.20
List Price:  SEK kr757.73
You save:  SEK kr216.52
ARS$43,928.30
List Price:  ARS$61,503.14
You save:  ARS$17,574.83
Bs345.62
List Price:  Bs483.90
You save:  Bs138.27
COP$194,235.29
List Price:  COP$271,944.94
You save:  COP$77,709.65
₡25,508.30
List Price:  ₡35,713.67
You save:  ₡10,205.36
L1,232.91
List Price:  L1,726.17
You save:  L493.26
₲373,633.39
List Price:  ₲523,116.65
You save:  ₲149,483.25
$U1,909.79
List Price:  $U2,673.86
You save:  $U764.07
zł200.70
List Price:  zł281
You save:  zł80.29
Already have an account? Log In

Transcript

Hello guys, welcome to the 27th session all the ways we don't have Web API to. In this session we will learn about how to worsening the our API by using the query string. Instead of passing the old version along with the URL, we are passing the query string like the like the API is less employee question mark we equal to one which will retrieve the list of all the employee or do version one for retrieving words and two, we need to use the query string we were to to for creating versioning using the query string we need to create the work custom controller selector. Let's switch to Visual Studio add a new class. Name controller selector Which is going to do from the default HTTP controller selector. Let's include the namespace.

Within that we need to create a constructor with the parameter at DDP configuration, which is present in the different namespace, and freak and we also need to create a private and we also need to create a private variable of a TTP configuration. config dot config equal to the config that come from the parameter and we also need to call to the base by passing the our config object and we need to override select controller method of the default HTTP controller selector. First of all we need to retrieve the list of the control data available in the our controller directory. For right the while that read the controller equal to get controller mapping which will return the all of the controller of the IPP a controller not the MVC controllers and retrieve the name of the our controller from the UI. For that we need to use the request object request dot get routed data dot values of controller.to string and do what is a number less insulated Yeah.

Oh one and now we need to opt in the year was a number from the our query string for this we need to write the query string equal to A TTP utility dot parse query string. Within braces we need to pass the our request dot request trader Ura dot query covary. And now we need to check that the query string is exist or not. If that exists, then we need to update the value of the version number. For that we need to write the if string not equal manticore. No Then Watson number equal to the query string of V, we need to check the query string of V after the error retrieving the words a number now we need to decide the our controller name.

For that we need to check the value of the our version light. If version number equal equal one, then controller name plus equal to v one and Otherwise we need to set a controller to return type of this function is the HTTP controller descriptor. Now we need to create the instance of that added up these krypter and now we are going to be showing the controller with that tower. And now we are going to return the controller with the controller name. For that we need to write if controller dot. Try get to value within the parameter we need to pass the controller name.

There is a controller name and which will take the out parameter I'll do a descriptor. If the controller exists, then we need to return the descriptor. Otherwise, we need to return the null. After creating the custom controller selector, now we need to specify it in our web API config file. First of all, we need to uncomment the default API routes and the common data route that we have previously created. Within that file, we need to write the config dot services dot replace.

Type off I HTTP controller selector which was present in a different namespace, so input it and was a new instance of the our controller selector, which take the configuration as a parameter. Let's build the solution. Let's open the API slash employee which will return the employee of the version one. However, we are not specified here was in the URL. This is a lie because we specified that deal was the number one will be a default for the our customers. selector let's use the words and to do that we need to write the question mark we equal to two you can see that it will return the instances of the employ words into.

For creating the words and using the query string we need to create a custom controller selector class which action from the default HTTP controller selector. Within that we need to override the Select controller method. in which we need to return the list of the controller by using the get controller mapping and the name of the controller of by using the request object and check whether the question was exists or not. Based on the version number we are decided the controller name. By using the controllers dot try get value we specify the our controller name that we want to retrieve. After creating the custom controller, we need to updating the Configure file, in which we need to write the config dot services dot replace, in which we are going to replace the HTTP controller selector with the our new controller selector object.

Thanks for watching. Have a nice day.

Sign Up

Share

Share with friends, get 20% off
Invite your friends to LearnDesk learning marketplace. For each purchase they make, you get 20% off (upto $10) on your next purchase.