【发布时间】:2022-02-14 04:30:19
【问题描述】:
现在我有一个我想调用的程序:
CALL Get_Discharge_Station('2022-02-02', 6, 11800);
我想将这三个参数-2022-02-02,6,11800传递给url地址,当我输入不同的日期、站号和站号来获取不同的数据时。
现在我的 API 控制器如下所示:
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
namespace WebAPI.Controllers
{
[Route("api/hqdataahs")]
[ApiController]
public class HQ_data_AHSController : ControllerBase
{
private readonly IConfiguration _configuration;
public HQ_data_AHSController(IConfiguration configuration)
{
_configuration = configuration;
}
[HttpGet]
public JsonResult Get()
{
string query = @"CALL Get_Discharge_Station('2022-02-02', 6, 11800);";
DataTable table = new DataTable();
string sqlDataSource = _configuration.GetConnectionString("AppCon");
MySqlDataReader myReader;
using (MySqlConnection mycon = new MySqlConnection(sqlDataSource))
{
mycon.Open();
using (MySqlCommand myCommand = new MySqlCommand(query, mycon))
{
myReader = myCommand.ExecuteReader();
table.Load(myReader);
myReader.Close();
mycon.Close();
}
}
return new JsonResult(table);
}
}
}
当我访问控制器时,我可以改变什么来传递url地址中的三个参数?`
【问题讨论】:
-
你的代码容易受到SQL注入的影响,你应该使用参数化查询来保证安全:dev.mysql.com/doc/connector-net/en/…
标签: c# .net-core asp.net-core-webapi