Net core application. I have one GET api as below.
[HttpGet]
[Route("configId={configId}"eId={quoteId}"), EnableQuery()]
public async Task<IEnumerable<Scenario>> GetScenario(string configId, int quoteId)
{
var result = await configScenarioService.GetScenarioAsync(configId, quoteId);
if (result.IsSuccess)
{
return result.scenarioResults;
}
return new List<Scenario>();
}
I am trying to hit from Postman as below.
https://localhost:44362/api/v1/Scenario/configId=JBEL ASS_60_SG_5.2-145_MY21_T102.5_25y"eId=236
Unfortunately this is giving 404 error. May be sig is causing the issue. After looking into some documentation tried as below.
1. https://localhost:44362/api/v1/Scenario/configId=" encodeURIComponent(BEL ASS_60_SG_5.2-145_MY21_T102.5_25y) ""eId=236
This dint work for me and still giving 404 error.
Can someone help me to fix this. Any help would be greatly appreciated. Thanks
CodePudding user response:
Try this
[HttpGet]
[Route, EnableQuery()]
public async Task<IEnumerable<Scenario>> GetScenario([FromQuery(Name = "configId")]string configId, [FromQuery(Name = "quoteId")]int quoteId)
{
CodePudding user response:
Then try this:
[ApiController]
[Route("api/v1/[controller]/[action]")]
public class YourController : ControllerBase
{
//... ctor and your other stuff
[HttpGet("{employeeNumber}/{quoteId}", Name = "Scenario")]
[ProducesResponseType(typeof(IEnumerable<Scenario>)]
public async Task<ActionResult<CrewModel>> GetScenario(string configId, string quoteId)
{
}
}
CodePudding user response:
since you have sign you have to encode your url, for url encoded is + https://www.w3schools.com/tags/ref_urlencode.asp
..../Scenario?configId=JBEL+ASS_60_SG_5.2-145_MY21_T102.5_25y"eId=236
and since you have 404 you have to fix an action route too
[Route("~/api/v1/Scenario")]
public async Task<IEnumerable<Scenario>> GetScenario([FromQuery] string configId, [FromQuery] int quoteId)