Laravel Route基于查询字符串

时间:2017-12-05 08:12:08

标签: php laravel

目前在我的 routes.php 文件中,我有以下内容:

public async Task<JsonResult> addition(int firstNumber, int secondNumber)
       {
        try
        {
            var endpoint = string.Format("addition/{0}/{1}", firstNumber, secondNumber);
            var response = await client.GetAsync(endpoint);
            var result=await response.Content.ReadAsStringAsync();
            return new (JavaScriptSerializer().Serialize(new { Result = result});
        }

        catch (Exception e)            
        {
          return new (JavaScriptSerializer().Serialize(new { status = 
         "error", message = "Server is not running" });
        }

   } 

但至于请求,他们将按以下方式发送:

Route::get('import', 'Controller@import');

这是我唯一的3个请求,我知道Laravel在路由上支持/import?flag=0&data={} //flag could be anything from 0-4 & data is json encoded info /import?flag=5&data={} /import?flag=6&data={} 方法,但只有正则表达式而不是查询参数,是否有解决方案,我'我可以俯瞰吗?

表达方法就是这样:

where

2 个答案:

答案 0 :(得分:1)

您只能使用单程

set VarFive=FOR %%%%F IN ("old filename") DO (

答案 1 :(得分:0)

正如@lagbox所提到的,当你可以在import()方法中处理所有这些路由条件时,为什么你需要不同的路由

public function import(Request $request)
{
    $flag = $request->get('flag');
    $data = $request->get('data');
    if ($flag <= 4) {
        $this->importFlagTillFour($flag, $data)
    }
    if ($flag == 5) {
        $this->importFlagFive($flag, $data)
    }
    if ($flag == 6) {
        $this->importFlagSix($flag, $data)
    }
}

并在同一个类中声明被调用的方法

public function importFlagTillFour($flag, $data) {}
public function importFlagFive($flag, $data) {}
public function importFlagSix($flag, $data) {}