【发布时间】:2021-05-03 23:43:20
【问题描述】:
当单词与表字段匹配时,我需要从 db 获取所有数据。
我试过在http方向(GetRutaByText)使用参数,像这样
.../api/ruta/GetRutaByText/'var' 和
.../api/ruta/GetRutaByText/var
两者都返回空,不是错误,而是空。
我还尝试从正文(GetRutaByText2)发送“var”文本
相间
Task<IEnumerable<Ruta>> GetRutasByText(string value);
Task<IEnumerable<Ruta>> GetRutasByText2(Ruta ruta);
存储库:
public async Task<IEnumerable<Ruta>> GetRutasByText(string value)
{
var db = dbConnection();
var sql = @"select *
from public.tb_ruta
where descrip ilike '%@Value%'";
return await db.QueryAsync<Ruta>(sql, new { Value = value });
}
public async Task<IEnumerable<Ruta>> GetRutasByText2(Ruta ruta)
{
var db = dbConnection();
var sql = @"select *
from public.tb_ruta
where descrip ilike '%@descrip%'";
return await db.QueryAsync<Ruta>(sql, new { ruta.descrip });
}
控制器:
[HttpGet("{value}")]
public async Task<IActionResult> GetRutaByText(string value)
{
return Ok(await _rutaRepository.GetRutasByText(value));
}
[HttpGet]
public async Task<IActionResult> GetRutaByText2([FromBody] Ruta ruta)
{
return Ok(await _rutaRepository.GetRutasByText2(ruta));
}
这是邮递员测试的结果 1
【问题讨论】:
标签: c# postgresql api get asp.net-core-mvc