Extend url parameters default formatting by MikeAmputer · Pull Request #1781 · reactiveui/refit
Closes #1775
This PR extends the DefaultUrlParameterFormatter with additional formatting options based on parameter type or a combination of request and parameter types. This allows values with no QueryAttribute format to be custom-formatted without the necessity of fully reimplementing DefaultUrlParameterFormatter.
Example usage:
class CustomUrlParameterFormatter : DefaultUrlParameterFormatter { public CustomUrlParameterFormatter() { AddFormat<DateTime>("yyyy-MM-ddTHH:mm:ss"); AddFormat<MyRequest, DateTime>("yyyy-MM-ddTHH:mm:ss.fffZ"); } }
or
var urlParameterFormatter = new DefaultUrlParameterFormatter(); urlParameterFormatter.AddFormat<DateTime>("yyyy-MM-ddTHH:mm:ss"); urlParameterFormatter.AddFormat<MyRequest, DateTime>("yyyy-MM-ddTHH:mm:ss.fffZ");
Formatting priority:
QueryAttributeformatAddFormat<TContainer, TParameter>(might be suppressed by aQueryAttributeformat)AddFormat<TParameter>(might be suppressed by aQueryAttributeformat or a container specific format)