简体   繁体   中英

MVC 4 Web API Action return: Types vs HttpResponseMessage

What is the difference returning Types eg

    public class MyController : ApiController
    {
        public IEnumerable<MyType> Get()...

vs

Returning HttpResponseMessage:

    public class MyController : ApiController
    {
        public HttpResponseMessage Get()...

??

Does MVC wraps types into HttpResponseMessage content object anyways? The result on the page looks the same besides when formatters are explicitly added.

What is the difference to the client?

There is no difference.

If you return CLR type, it will be wrapped with HttpResponseMessage anyway.

The only difference is that if you return HttpResponseMessage you get a chance to work directly with HTTP - so you can set headers, bypass MediaTypeFormatters and so on.

It's all a matter of personal preference and/or the activity that's performed in your action.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM