I have a .NET Core 3.1 controller derived from Microsoft.AspNetCore.Mvc.ControllerBase, the custom json converter is not called on result output.
IProduct
public interface IProduct { ... }
Controller:
[HttpGet("{id}")]
public IProduct Get(string id)
{
   IProduct product = _data.GetProduct(id);
   return product;
}
[HttpPut]
public Task Save(IProduct product)
{
    return _data.Save(product);
}
JsonConverter:
public class ProductConverter : System.Text.Json.Serialization.JsonConverter<IProduct> 
{
    public override IProduct Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
    {
         // this code works from unit tests, trust me :)
    }
    public override void Write(Utf8JsonWriter writer, IProduct value, JsonSerializerOptions options) 
    {
        // this code works from unit tests, trust me :)
    }
}
Startup:
services
  .AddControllers()
  .AddJsonOptions(options => {
      options.JsonSerializerOptions.Converters.Add(new ProductConverter());
  });
Symptoms
- When controller's action method Saveis called, theProductConverter.Readis called
- When controller's action method Getis called, theProductConverter.Writemethod is not called
- I get json result of actual implementation of IProduct
Am I missing something or doing something wrong?
 
     
    