Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

384
Vistas
How to pass three parameters to url address using ASP.NET Core Web API

For now I have a procedure I wish to call:

CALL Get_Discharge_Station('2022-02-02', 6, 11800);

I want to pass these three parameters - 2022-02-02,6,11800 to url address, when I enter different date,number and number of station to get different data.

For now my API controller look like this:

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);
        }
    }
}

What can I change to pass there three parameters in url address when I access the controller?`

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

declare the args

    [HttpGet]
    public JsonResult Get(string dataStr, int noodle, int frumpy)
    {

now construct the call

  string query = $"CALL Get_Discharge_Station('{dateStr}', {noodle}, {fumpy});"
over 4 years ago · Santiago Trujillo Denunciar

0

just fix the action

 [HttpGet("~/api/hqdataahs/GetData")]
  //or just
 [HttpGet("GetData")]
 public JsonResult Get(string date, int num, int statNum)
{
    string query = $"CALL Get_Discharge_Station('{date}', {num}, {statNum});";
    .....

and carefully read all comments below about sql injection.

you url should be

https://.../api/hqdataahs/GetData?date=2022-02-02&num=6&statNum=11800

or change route

 [HttpGet("~/api/hqdataahs/GetData/{date}/{num}/{statNum}")]
  //or just
 [HttpGet("GetData/{date}/{num}/{statNum}")]
[HttpGet("~api/hqdataahs/GetData
 public JsonResult Get(string date, int num, int statNum)

in this case you url should be

https://.../api/hqdataahs/GetData/2022-02-02/6/11800
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda