Roteamento de atributo da API da Web, por tipo de conteúdo, no dot net core 2?

Eu gostaria de poder consumir JSON postado ou dados de formulário no mesmo URL.

Como as coisas estão, eu recebo:

fail: Microsoft.AspNetCore.Mvc.Internal.ActionSelector[1]
      Request matched multiple actions resulting in ambiguity. Matching actions: 
:
fail: Microsoft.AspNetCore.Server.Kestrel[13]
      Connection id "0HLDLB0LJCPJ4", Request id "0HLDLB0LJCPJ4:00000001": An unhandled exception was thrown by the application.
Microsoft.AspNetCore.Mvc.Internal.AmbiguousActionException: Multiple actions matched. The following actions matched route data and had all constraints satisfied:

https://andrewlock.net/model-binding-json-posts-in-asp-net-core/ sugere o uso de pontos de extremidade diferentes, mas não posso fazer isso neste caso.

https://massivescale.com/web-api-routing-by-content-type/ sugere uma maneira de fazer isso para o asp.net, por exemplo:

[ContentTypeRoute("api/test/bytype", "application/json")]

ou

[ContentTypeRoute("api/test/bytype", "application/x-www-form-urlencoded")]

mas no núcleo .net, não temos System.Web.Http.Routing. Talvez ele possa ser portado para usar Microsoft.AspNetCore.Mvc.Routing ... mas há algo para substituir IHttpRouteConstraint

Minha pergunta: algo assim já está incorporado no .net core mvc?

Por exemplo, no JAX-RS do Java, há @Consumes ("application / json")

questionAnswers(1)

yourAnswerToTheQuestion