###BeginCaseStudy###
Topic 3, Online Bookstore
Background
You are developing an online bookstore web application that will be used by your company’s
customers.
Technical Requirements
General requirements:
The web store application must be an ASP.NET MVC application
written in Visual Studio.
The application must connect to a Microsoft SQL database.
The GetTop100Books() method is mission critical and must return
data as quickly as possible. It should take advantage of fast,
forward-only, read-only methods of reading data.
The ImportBooks() method must keep a copy of the data that can
be accessed while new books are being imported without blocking
reads.
The Create MonthlyTotalsReport() method must lock the data and
prevent others from updating or inserting new rows until complete.
The college textbook area of the web application must get data
from a daily updated CSV file.
The children’s book area of the web application must get data
directly from a local database. It must use a connection string. It
must also support access to the stored procedures on the database.
Further, it is required to have strongly typed objects. Finally, it will
require access to databases from multiple vendors and needs to
support more than one-to-one mapping of database tables.
The cookbook functionality is contained within a client-side
application that must connect to the server using HTTP and
requires access to the data using JavaScript.
The BookApiController class must have a method that is able to
perform ad-hoc queries using OData.
The RESTful API of the bookstore must expose the following endpoints.
Application Structure
PurchaseOrders.xml
FeaturedBooks.xml
###EndCaseStudy###
You need to configure the server to self-host the bookstore’s Web API application.
Which code segment should you use?
A.
Option A
B.
Option B
C.
Option C
D.
Option D
Explanation:
MapHttpRoute Method
Maps the specified route template.
Use the option with “api/…
https://docs.microsoft.com/en-us/aspnet/web-api/overview/web-api-routing-and-actions/routing-in-aspnet-web-api
”
Note
The reason for using “api” in the route is to avoid collisions with ASP.NET MVC routing. That way, you can have “/contacts” go to an MVC controller, and “/api/contacts” go to a Web API controller. Of course, if you don’t like this convention, you can change the default route table.
“
Bullshit answer imo. Ask for convention if you want it, dont assume it. Assume makes an ass out of u and me. Microsoft.
Looks like C is correct
Yep, /api/ (answer C) is the way to go.
The clue is in the “The web store application must be an ASP.NET MVC application” line. Which means you’re going to have to deal with MVC controllers. This means you really want a separate route for your Web API methods.
WHY ARE YOU SO STUPID
“The RESTful API of the bookstore must expose the following endpoints.
Action: Get a list of all books
HTTP Method: GET
Relative URI: /books”
The URI is “/books”, is not repfixed by “api”.
So the answer should be B
fix typo error: repfixed => prefixed