How should I pass multiple parameters to an ASP.Net Web API GET?

前端 未结 11 1392
温柔的废话
温柔的废话 2020-12-12 09:59

I am using the .Net MVC4 Web API to (hopefully) implement a RESTful api. I need to pass in a few parameters to the system and have it perform some action, then return a lis

11条回答
  •  自闭症患者
    2020-12-12 10:57

    Using GET or POST is clearly explained by @LukLed. Regarding the ways you can pass the parameters I would suggest going with the second approach (I don't know much about ODATA either).

    1.Serializing the params into one single JSON string and picking it apart in the API. http://forums.asp.net/t/1807316.aspx/1

    This is not user friendly and SEO friendly

    2.Pass the params in the query string. What is best way to pass multiple query parameters to a restful api?

    This is the usual preferable approach.

    3.Defining the params in the route: api/controller/date1/date2

    This is definitely not a good approach. This makes feel some one date2 is a sub resource of date1 and that is not the case. Both the date1 and date2 are query parameters and comes in the same level.

    In simple case I would suggest an URI like this,

    api/controller?start=date1&end=date2
    

    But I personally like the below URI pattern but in this case we have to write some custom code to map the parameters.

    api/controller/date1,date2
    

提交回复
热议问题