【问题标题】:Passing a List<string> to an MVC Web API method using the browser bar使用浏览器栏将 List<string> 传递给 MVC Web API 方法
【发布时间】:2012-12-08 15:41:05
【问题描述】:

我有一个 MVC Web API Get 方法,它接受 List&lt;string&gt; 作为参数。我正在尝试仅使用浏览器栏来访问此方法。这是怎么做的?使用 ../APIName?parameter1=value1&amp;parameter2=value2&amp;... 在两个与号之间传递一个参数,而不是一个列表。

【问题讨论】:

    标签: asp.net-mvc asp.net-web-api


    【解决方案1】:
    1. 确保您的操作方法的参数标记为 [FromUri]。默认情况下,该值应从请求的主体中传递,因为它是一个复杂类型。

      public List<string> Get([FromUri] List<string> parameter)
      {...}
      
    2. 查询字符串参数的格式应为.../APIName?parameter[]=value1&amp;parameter[]=value2&amp;...

    希望这会有所帮助。

    【讨论】:

    • 感谢您的回答,它确实有帮助。方括号“[]”对我来说是不必要的。
    • 这对我不起作用。它适用于第一个“参数”调用(带或不带方括号),但是一旦我添加第二个,我只会从服务器收到一条 500 条消息,没有其他信息,并且在 VS 中没有断点
    • @ChrisSurfleet - 来不及回复,但你确定你添加了 List 而不仅仅是字符串作为参数类型。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-20
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 2013-12-04
    • 2016-04-19
    • 2012-09-24
    相关资源
    最近更新 更多