ASP.NET webapi Interview Questions

2025-12-07 0 860

ASP.NET WEB API Interview Questions & Answers

Click if you like the project. Pull Request are highly appreciated. Follow me @kansiris87 for technical updates.

Table of Contents

No. Questions
1 [What is REST?](#What is REST?)
2 [Explain REST principle?](#Explain REST principle?)
3 [What is difference between REST and SOAP?](#What is difference between REST and SOAP?)
4 [What is ASP.NET WEB API?](#What is ASP.NET WEB API?)
5 [Why choose ASP.NET WEB API?](#Why choose ASP.NET WEB API?)
6 [What is difference between WCF and ASP.NET WEB API and WCF REST and Web Service?](#What is difference between WCF and ASP.NET WEB API and WCF REST and Web Service?)
7 [Which one to choose between WCF and WEB API?](#Which one to choose between WCF and WEB API?)
8 [What is the difference between ASP.NET MVC and ASP.NET WEB API?](#HWhat is the difference between ASP.NET MVC and ASP.NET WEB API?)
9 [Can you return view by using WEB API method?](#Can you return view by using WEB API method?)
10 [Can you change WEB API action name like ASP.NET MVC?](#Can you change WEB API action name like ASP.NET MVC?)

|1 | [Can you restrict a WEB API action method to be invoked only by HTTP GET, POST, PUT or DELETE?](#Can you restrict a WEB API action method to be invoked only by HTTP GET, POST, PUT or DELETE?)|
|2 | [How to call WEB API in ASP.NET MVC?](#How to call WEB API in ASP.NET MVC?)|
|3 | [How ASP.NET API routing is different from ASP.NET MVC routing?](#How ASP.NET API routing is different from ASP.NET MVC routing?)|
|4 | [How to enable Attribute Routing in ASP.NET WEB API2?](#How to enable Attribute Routing in ASP.NET WEB API2?)|
|5 | [How to define attribute routing in ASP.NET WEB API2?](#How to define attribute routing in ASP.NET WEB API2?)|

What is REST?

REST stands for Representational State Transfer. This is a protocol for exchanging data over a distributed environment. REST is an architectural style which treat each service as a resource and access data by HTTP protocol methods like GET, POST, PUT, and DELETE.

REST-style architectures consist of clients and servers. Clients initiate requests to servers who process these requests and return responses based on these requests. These requests and responses are built around the transfer of representations of these resources.

Explain REST principle?

REST is a set of principles that define how Web standards, such as HTTP and URIs, are supposed to be used. There are five important REST principle as given below –

Addressable Resources – Each resource should be identified by a URI (unique identifier)

Simple and Uniform Interfaces – REST is based on HTTP protocol so use HTTP GET, POST, PUT and DELETE method to perform actions. This make REST simple and uniform.

Representation Oriented- Representation of resources are exchanged. GET is used to return a representation and PUT, POST passes representation to the server so that underlying resources may change. Representation may be in many formats like XML, JSON etc.

Communicate Stateless – An application may has state but there is no client session data stored on the server. Any session specific data should be held and maintained by the client and transferred to the server with each request as needed.

Cacheable – Clients should be able to cache the responses for further use.

What is difference between REST and SOAP?

The difference between REST and SOAP is given below:
SOAP
REST
SOAP stands for Simple Object Access Protocol
REST stands for REpresentational State Transfer.
It is an XML based protocol built on the top of HTTP or sometimes TCP/IP, SMTP.
REST is not a protocol but it is an architectural style i.e.resource-based architecture.
SOAP has specifications for both stateless and stateful implementation.
REST is completely stateless.
SOAP enforces message format as XML.
REST does not enforces message format as XML or JSON.
SOAP has a defined standard specification.For example, WS-Security is the specification for implementing security.
It has no defined standard specifications.
The SOAP message consists of an envelope which includes SOAP headers and body to store the actual information you want to send.
REST uses the HTTP build-in headers (with a variety of media-types) to carry meta information and use the GET,POST, PUT and DELETE verbs to perform CRUD operations.
SOAP uses interfaces and named operations to expose your service.
REST uses URI and methods like (GET, PUT, POST, DELETE) to expose resources.
Performance is slow as compared to REST.
REST is fast as compared to SOAP.

What is ASP.NET WEB API?

ASP.NET WEB API is a framework for building HTTP services that can be consume by a broad range of clients including browsers, mobiles, iphone and tablets. It is very similar to ASP.NET MVC since it contains the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection. But it is not a part of the MVC Framework.
It is a part of the core ASP.NET platform and can be used with MVC and other types of Web applications like ASP.NET WebForms. It can also be used as a stand-alone Web services application.
ASP.NET WEB API features
1. It supports convention-based CRUD Actions since it works with HTTP verbs GET, POST, PUT and DELETE.
2. Responses have an Accept header and HTTP status code.
3. Responses are formatted by WEB API’s MediaTypeFormatter into JSON, XML or whatever format you want to add as a MediaTypeFormatter.
4. It may accepts and generates the content which may not be object oriented like images, PDF files etc.
5. It has automatic support for OData. Hence by placing the new [Queryable] attribute on a controller method that returns IQueryable, clients can use the method for OData query composition.
6. It can be hosted with in the applicaion or on IIS.
7. It also supports the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection that makes it more simple and robust.

Why choose ASP.NET WEB API?

Today, a web-based application is not enough to reach it\’s customers. People are very smart, they are using iphone, mobile, tablets etc. devices in its daily life. These devices also have a lot of apps for making the life easy. Actually, we are moving from the web towards apps world.

So, if you like to expose your service data to the browsers and as well as all these modern devices apps in fast and simple way, you should have an API which is compatible with browsers and all these devices.

For example twitter, facebook and Google API for the web application and phone apps.

WEB API is the great framework for exposing your data and service to different-different devices. Moreover WEB API is open source an
ideal platform for building REST-ful services over the .NET Framework. Unlike WCF Rest service, it use the full featues of HTTP (like URIs, request/response headers, caching, versioning, various content formats) and you don\’t need to define any extra config settings for different devices unlike WCF Rest service.

Why to choose WEB API

  1. If we need a Web Service and don’t need SOAP, then ASP.NET WEB API is best choice.

  2. It is used to build simple, non-SOAP-based HTTP Services on top of existing WCF message pipeline.

  3. It doesn\’t have tedious and extensive configuration like WCF REST service.

  4. Simple service creation with WEB API. With WCF REST Services, service creation is difficult.

  5. It is only based on HTTP and easy to define, expose and consume in a REST-ful way.

  6. It is light weight architecture and good for devices which have limited bandwidth like smart phones.

  7. It is open source.

What is difference between WCF and ASP.NET WEB API and WCF REST and Web Service?

.NET framework has a number of technologies that allow you to create HTTP services such as Web Service, WCF and now WEB API. There are following differences among these four:

Web Service

  1. It is based on SOAP and return data in XML form.

  2. It supports only HTTP protocol.

  3. It is not open source but can be consumed by any client that understands xml.

  4. It can be hosted only on IIS.

WCF

  1. It is also based on SOAP and return data in XML form.

  2. It is the evolution of the web service (ASMX) and support various protocols like TCP, HTTP, HTTPS, Named Pipes, MSMQ.

  3. The main issue with WCF is, its tedious and extensive configuration.

  4. It is not open source but can be consumed by any client that understands xml.

  5. It can be hosted with in the application or on IIS or using window service.

WCF Rest

  1. To use WCF as WCF Rest service you have to enable webHttpBindings.

  2. It support HTTP GET and POST verbs by [WebGet] and [WebInvoke] attributes respectively.

  3. To enable other HTTP verbs you have to do some configuration in IIS to accept request of that particular verb on .svc files

  4. Passing data through parameters using a WebGet needs configuration. The UriTemplate must be specified

  5. It support XML, JSON and ATOM data format.

WEB API

  1. This is the new framework for building HTTP services with easy and simple way.

  2. WEB API is open source an ideal platform for building REST-ful services over the .NET Framework.

  3. Unlike WCF Rest service, it use the full features of HTTP (like URIs, request/response headers, caching, versioning, various content
    formats)

  4. It also supports the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection, unit testing that makes it more simple and robust.

  5. It can be hosted with in the application or on IIS.

  6. It is light weight architecture and good for devices which have limited bandwidth like smart phones.

  7. Responses are formatted by WEB API’s MediaTypeFormatter into JSON, XML or whatever format you want to add as a MediaTypeFormatter.

Which one to choose between WCF and WEB API?

The following points help you to choose between WCF and WEB API:

  1. Choose WCF when you want to create a service that should support special scenarios such as one way messaging, message queues, duplex communication etc.

  2. Choose WCF when you want to create a service that can use fast transport channels when available, such as TCP, Named Pipes, or maybe even UDP (in WCF 4.5), and you also want to support HTTP when all other transport channels are unavailable.

  3. Choose WEB API when you want to create resource-oriented services over HTTP that can use the full features of HTTP (like URIs, request/response headers, caching, versioning, various content formats).

  4. Choose WEB API when you want to expose your service to a broad range of clients including browsers, mobiles, iphone and tablets.

What is the difference between ASP.NET MVC and ASP.NET WEB API?

There are following differences between ASP.NET MVC and WEB API:

  1. ASP.NET MVC is used to create web applications that return both views and data but ASP.NET WEB API is used to create full blown HTTP services with easy and simple way that returns only data not view.

  2. WEB API helps to build REST-ful services over the .NET Framework and it also support content-negotiation(it\’s about deciding the best response format data that could be acceptable by the client. it could be JSON,XML,ATOM or other formatted data), self-hosting which are not in MVC.

  3. WEB API also takes care of returning data in particular format like JSON, XML or any other based upon the Accept header in the request and you don\’t worry about that. MVC only return data in JSON format using JsonResult.

  4. In WEB API the request are mapped to the actions based on HTTP verbs but in MVC it is mapped to actions name.

  5. ASP.NET WEB API is new framework and part of the core ASP.NET framework. The model binding, filters, routing and others MVC features exist in WEB API are different from MVC and exists in the new System.Web.Http assembly. In MVC, these features exist within System.Web.Mvc. Hence WEB API can also be used with ASP.NET and as a stand-alone service layer.

  6. You can mix WEB API and MVC controller in a single project to handle advanced AJAX requests which may return data in JSON, XML or any others format and building a full blown HTTP service. Typically, this will be called WEB API self-hosting.

  7. When you have mixed MVC and WEB API controller and you want to implement the authorization then you have to create two filters one for MVC and another for WEB API since both are different.

  8. Moreover, WEB API is light weight architecture and except the web application it can also be used with smart phone apps.

Can you return view by using WEB API method?

Unlike ASP.NET MVC, WEB API is used to return only data. The data can be string, JSON, XML, Text etc. It cannot return View like ASP.NET MVC.

Can you change WEB API action name like ASP.NET MVC?

Like ASP.NET MVC, you can also change WEB API action name by using ActionName attribute as given below:

[HttpGet] [ActionName(\”GetProducts\”)]
public IEnumerable ProductList()
{
return db.Products.AsEnumerable();
}

Can you restrict a WEB API action method to be invoked only by HTTP GET, POST, PUT or DELETE?

Like ASP.NET MVC, you can also restrict WEB API action method to be invoked only by a specific HTTP request by applying HttpGet or HttpPost or HttpPut or HttpDelete attribute.

If you want to restrict an action method for HTTP Get request only then decorate it with HttpGet action method selector attribute as given below:

[HttpGet]
public IEnumerable ProductList()
{
return db.Products.AsEnumerable();
}

How to call WEB API in ASP.NETMVC?

ASP.NET WEB API can be called by using HttpClient and WEB API address as given below:

public class ProductController : Controller
{
HttpClient Client = new HttpClient();
Uri BaseAddress = new Uri(\”http://*l*oca*lhost:131/\”);
public ActionResult Index()
{
Client.BaseAddress = BaseAddress;
HttpResponseMessage response = Client.GetAsync(\”productservice/GetProducts\”).Result;
if (response.IsSuccessStatusCode)
{
var data = response.Content.ReadAsAsync<IEnumerable>().Result;
return View(data);
}
return View();
}
}

How ASP.NET API routing is different from ASP.NET MVC routing?

ASP.NET MVC and ASP.NET WEB API both use routing to monitor incoming request and at least one route is defined in order to function. The difference between these two routing is given below:

  1. In WEB API route pattern {action} parameter is optional but you can include an {action} parameter. In ASP.NET MVC {action} parameter is mandatory.

  2. The action methods defined in the API controller must either have the HTTP action verbs (GET, POST, PUT, DELETE) attribute or have one of the HTTP action verbs as a prefix for the actions methods name. In ASP.NET MVC, by default an action method can be called by HTTP GET or POST verbs and for using others HTTP verbs you need to defined as an attribute.

  3. Unlike ASP.NET MVC, Web API can receive only one complex type as a parameter.

How to enable Attribute Routing in ASP.NET WEB API2?

Enabling attribute routing in your ASP.NET WEB API2 is simple, just add a call to MapHttpAttributeRoutes()
method with in Register() method of WebApiConfig.cs file.

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//enabling attribute routing config.MapHttpAttributeRoutes();
}
}

You can also combine attribute routing with convention-based routing.

public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{

//enabling attribute routing config.MapHttpAttributeRoutes();
// Convention-based routing. config.Routes.MapHttpRoute( name: \”DefaultApi\”,

routeTemplate: \”api/{controller}/{id}\”, defaults: new { id = RouteParameter.Optional });

}
}

How to define attribute routing in ASP.NET WEB API2?

Like ASP.NET MVC5, you can also define attribute routing in WEB API2 at controller level and action level as shown below:

  1. Controller level routing – You can define routes at controller level which apply to all actions within the controller unless a specific route is added to an action.

[RoutePrefix(\”Service/User\”)]
public class UserController : ApiController
{
//GET route: api/User
public IEnumerable Get()
{
return new string[] { \”value1\”, \”value2\” };

}

[Route(\”{id}\”)] //GET route: Service/User/1 public string Get(int id)
{
return \”value\”;
}

[Route(\”\”)] //POST route: Service/User/ public void Post([FromBody]string value)
{
}
}

• Action level routing – You can define routes at action level which apply to a specific action with in the controller.

public class UserController : ApiController
{
//GET route: api/User

public IEnumerable Get()
{
return new string[] { \”value1\”, \”value2\” };
}

[Route(\”Service/User/{id}\”)] //GET route: Service/User/1 public string Get(int id)
{
return \”value\”;
}
[Route(\”Service/User/\”)] //POST route: Service/User/ public void Post([FromBody]string value)
{
}
}

下载源码

通过命令行克隆项目:

git clone https://github.com/kansiris/ASP.NET-webapi-Interview-Questions.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 开发教程 ASP.NET webapi Interview Questions https://www.zuozi.net/31326.html

Hestia
上一篇: Hestia
QuantumJSP
下一篇: QuantumJSP
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务