React 中使用数组参数查询 API

use*_*448 1 api reactjs

我在 React 中的参数是一个数组,checkedItems:['location1', 'location2']。当它调用我的 API 时,URL 如下所示

/api/search?checkedItems[]=location1&checkedItems[]=location2 
Run Code Online (Sandbox Code Playgroud)

代替

/api/search?checkedItems=['location1','location2']
Run Code Online (Sandbox Code Playgroud)

我的 API 应用程序期望查询逗号分隔的数组参数:

  public List<myclass> Get( string checkedItems = null)
    {
      IQueryable<myclass> qry = (from a in db.myclass
                       select a);

        if (checkedItems != null)
        {


            string[] items = checkedItems.Split(',');
            foreach (var item in items)
            {

                {
                    qry = qry.Where(a => items.Contains(a.mycolumn));

                }

            }
           }

     return qry.ToList();
       }
Run Code Online (Sandbox Code Playgroud)

如何更改 React 代码或更改 API 代码?谢谢。

mak*_*Bit 6

而不是'/api/search?checkedItems=['location1','location2']',用逗号分隔数组字段,如下所示'/api/search?checkedItems=location1,location2'

去做这个,

let checkedItems = ['location1', 'location2']
// using template literals
let url = `/api/search?checkedItems=${checkedItems.join(',')}`
Run Code Online (Sandbox Code Playgroud)

然后在后端只需获取查询参数checkedItems并将其拆分checkedItems.split(',')即可获取数组。