Skip to content

ECommerce Sample Payments API has conflicting delete routes #66

Open
@BradKnowles

Description

@BradKnowles

When attempting to execute action DiscardPayment, this error message is returned:

{
    "StatusCode": 500,
    "Error": "The request matched multiple endpoints. Matches: \r\n\r\nPayments.Api.Controllers.PaymentsController.DiscardPayment (Payments.Api)\r\nPayments.Api.Controllers.PaymentsController.TimeoutPayment (Payments.Api)"
}

Both actions are decorated with the same [HttpDelete("{id}")] attribute and ASP.NET doesn't know which to choose.

[HttpDelete("{id}")]
public async Task<IActionResult> DiscardPayment(Guid id, [FromBody] DiscardPaymentRequest request)
{
Guard.Against.Null(request, nameof(request));
var command = Payments.DiscardingPayment.DiscardPayment.Create(
id,
request.DiscardReason
);
await commandBus.Send(command);
return Ok();
}
[HttpDelete("{id}")]
public async Task<IActionResult> TimeoutPayment(Guid id, [FromBody] TimeOutPaymentRequest request)
{
Guard.Against.Null(request, nameof(request));
var command = TimeOutPayment.Create(
id,
request.TimedOutAt
);
await commandBus.Send(command);
return Ok();
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions