# Microsoft.AspNetCore.Mvc.WebApiCompatShim

``` diff
 {
 {
-    namespace Microsoft.AspNetCore.Builder {
 {
-        public static class WebApiCompatShimRouteBuilderExtensions {
 {
-            public static IRouteBuilder MapWebApiRoute(this IRouteBuilder routeCollectionBuilder, string name, string template);

-            public static IRouteBuilder MapWebApiRoute(this IRouteBuilder routeCollectionBuilder, string name, string template, object defaults);

-            public static IRouteBuilder MapWebApiRoute(this IRouteBuilder routeCollectionBuilder, string name, string template, object defaults, object constraints);

-            public static IRouteBuilder MapWebApiRoute(this IRouteBuilder routeCollectionBuilder, string name, string template, object defaults, object constraints, object dataTokens);

-        }
-    }
-    namespace Microsoft.AspNetCore.Mvc.ModelBinding {
 {
-        public interface IOptionalBinderMetadata {
 {
-            bool IsOptional { get; }

-        }
-    }
-    namespace Microsoft.AspNetCore.Mvc.WebApiCompatShim {
 {
-        public static class FormDataCollectionExtensions {
 {
-            public static IEnumerable<KeyValuePair<string, string>> GetJQueryNameValuePairs(this FormDataCollection formData);

-            public static string NormalizeJQueryToMvc(string key);

-        }
-        public class HttpRequestMessageFeature : IHttpRequestMessageFeature {
 {
-            public HttpRequestMessageFeature(HttpContext httpContext);

-            public HttpRequestMessage HttpRequestMessage { get; set; }

-        }
-        public static class HttpRequestMessageHttpContextExtensions {
 {
-            public static HttpRequestMessage GetHttpRequestMessage(this HttpContext httpContext);

-        }
-        public class HttpRequestMessageModelBinder : IModelBinder {
 {
-            public HttpRequestMessageModelBinder();

-            public Task BindModelAsync(ModelBindingContext bindingContext);

-        }
-        public class HttpRequestMessageModelBinderProvider : IModelBinderProvider {
 {
-            public HttpRequestMessageModelBinderProvider();

-            public IModelBinder GetBinder(ModelBinderProviderContext context);

-        }
-        public class HttpResponseExceptionActionFilter : IActionFilter, IFilterMetadata, IOrderedFilter {
 {
-            public HttpResponseExceptionActionFilter();

-            public int Order { get; set; }

-            public void OnActionExecuted(ActionExecutedContext context);

-            public void OnActionExecuting(ActionExecutingContext context);

-        }
-        public class HttpResponseMessageOutputFormatter : IOutputFormatter {
 {
-            public HttpResponseMessageOutputFormatter();

-            public bool CanWriteResult(OutputFormatterCanWriteContext context);

-            public Task WriteAsync(OutputFormatterWriteContext context);

-        }
-        public interface IHttpRequestMessageFeature {
 {
-            HttpRequestMessage HttpRequestMessage { get; set; }

-        }
-        public interface IUseWebApiActionConventions

-        public interface IUseWebApiOverloading

-        public interface IUseWebApiParameterConventions

-        public interface IUseWebApiRoutes

-        public class OverloadActionConstraint : IActionConstraint, IActionConstraintMetadata {
 {
-            public OverloadActionConstraint();

-            public int Order { get; }

-            public bool Accept(ActionConstraintContext context);

-        }
-        public class UseWebApiActionConventionsAttribute : Attribute, IUseWebApiActionConventions {
 {
-            public UseWebApiActionConventionsAttribute();

-        }
-        public class UseWebApiOverloadingAttribute : Attribute, IUseWebApiOverloading {
 {
-            public UseWebApiOverloadingAttribute();

-        }
-        public class UseWebApiParameterConventionsAttribute : Attribute, IUseWebApiParameterConventions {
 {
-            public UseWebApiParameterConventionsAttribute();

-        }
-        public class UseWebApiRoutesAttribute : Attribute, IUseWebApiRoutes {
 {
-            public UseWebApiRoutesAttribute();

-        }
-        public class WebApiActionConventionsApplicationModelConvention : IControllerModelConvention {
 {
-            public WebApiActionConventionsApplicationModelConvention();

-            public void Apply(ControllerModel controller);

-        }
-        public class WebApiCompatShimOptions {
 {
-            public WebApiCompatShimOptions();

-            public MediaTypeFormatterCollection Formatters { get; set; }

-        }
-        public class WebApiCompatShimOptionsSetup : IConfigureOptions<MvcOptions>, IConfigureOptions<WebApiCompatShimOptions> {
 {
-            public static readonly string DefaultAreaName;

-            public WebApiCompatShimOptionsSetup();

-            public string Name { get; set; }

-            public void Configure(MvcOptions options);

-            public void Configure(WebApiCompatShimOptions options);

-        }
-        public class WebApiOverloadingApplicationModelConvention : IActionModelConvention {
 {
-            public WebApiOverloadingApplicationModelConvention();

-            public void Apply(ActionModel action);

-        }
-        public class WebApiParameterConventionsApplicationModelConvention : IActionModelConvention {
 {
-            public WebApiParameterConventionsApplicationModelConvention();

-            public void Apply(ActionModel action);

-        }
-        public class WebApiRoutesApplicationModelConvention : IControllerModelConvention {
 {
-            public WebApiRoutesApplicationModelConvention(string area);

-            public void Apply(ControllerModel controller);

-        }
-    }
-    namespace Microsoft.Extensions.DependencyInjection {
 {
-        public static class WebApiCompatShimMvcBuilderExtensions {
 {
-            public static IMvcBuilder AddWebApiConventions(this IMvcBuilder builder);

-        }
-    }
-    namespace System.Net.Http {
 {
-        public static class HttpRequestMessageExtensions {
 {
-            public static HttpResponseMessage CreateErrorResponse(this HttpRequestMessage request, HttpStatusCode statusCode, ModelStateDictionary modelState);

-            public static HttpResponseMessage CreateErrorResponse(this HttpRequestMessage request, HttpStatusCode statusCode, Exception exception);

-            public static HttpResponseMessage CreateErrorResponse(this HttpRequestMessage request, HttpStatusCode statusCode, string message);

-            public static HttpResponseMessage CreateErrorResponse(this HttpRequestMessage request, HttpStatusCode statusCode, string message, Exception exception);

-            public static HttpResponseMessage CreateErrorResponse(this HttpRequestMessage request, HttpStatusCode statusCode, HttpError error);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, IEnumerable<MediaTypeFormatter> formatters);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, MediaTypeFormatter formatter);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, MediaTypeFormatter formatter, MediaTypeHeaderValue mediaType);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, MediaTypeFormatter formatter, string mediaType);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, MediaTypeHeaderValue mediaType);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, string mediaType);

-            public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, T value);

-        }
-    }
-    namespace System.Web.Http {
 {
-        public abstract class ApiController : IDisposable {
 {
-            protected ApiController();

-            public ActionContext ActionContext { get; }

-            public HttpContext Context { get; }

-            public ControllerContext ControllerContext { get; set; }

-            public IModelMetadataProvider MetadataProvider { get; set; }

-            public ModelStateDictionary ModelState { get; }

-            public IObjectModelValidator ObjectValidator { get; set; }

-            public HttpRequestMessage Request { get; set; }

-            public IUrlHelper Url { get; set; }

-            public IPrincipal User { get; }

-            public virtual BadRequestResult BadRequest();

-            public virtual InvalidModelStateResult BadRequest(ModelStateDictionary modelState);

-            public virtual BadRequestErrorMessageResult BadRequest(string message);

-            public virtual ConflictResult Conflict();

-            public virtual NegotiatedContentResult<T> Content<T>(HttpStatusCode statusCode, T value);

-            public virtual CreatedResult Created(string location, object content);

-            public virtual CreatedResult Created(Uri uri, object content);

-            public virtual CreatedAtRouteResult CreatedAtRoute(string routeName, object routeValues, object content);

-            public void Dispose();

-            protected virtual void Dispose(bool disposing);

-            public virtual InternalServerErrorResult InternalServerError();

-            public virtual ExceptionResult InternalServerError(Exception exception);

-            public virtual JsonResult Json<T>(T content);

-            public virtual JsonResult Json<T>(T content, JsonSerializerSettings serializerSettings);

-            public virtual JsonResult Json<T>(T content, JsonSerializerSettings serializerSettings, Encoding encoding);

-            public virtual NotFoundResult NotFound();

-            public virtual OkResult Ok();

-            public virtual OkObjectResult Ok<T>(T content);

-            public virtual RedirectResult Redirect(string location);

-            public virtual RedirectResult Redirect(Uri location);

-            public virtual RedirectToRouteResult RedirectToRoute(string routeName, object routeValues);

-            public virtual ResponseMessageResult ResponseMessage(HttpResponseMessage response);

-            public virtual StatusCodeResult StatusCode(HttpStatusCode status);

-            public void Validate<TEntity>(TEntity entity);

-            public void Validate<TEntity>(TEntity entity, string keyPrefix);

-        }
-        public class BadRequestErrorMessageResult : ObjectResult {
 {
-            public BadRequestErrorMessageResult(string message);

-            public string Message { get; private set; }

-            public override Task ExecuteResultAsync(ActionContext context);

-        }
-        public class ConflictResult : StatusCodeResult {
 {
-            public ConflictResult();

-        }
-        public class ExceptionResult : ObjectResult {
 {
-            public ExceptionResult(Exception exception, bool includeErrorDetail);

-            public Exception Exception { get; private set; }

-            public bool IncludeErrorDetail { get; private set; }

-            public override Task ExecuteResultAsync(ActionContext context);

-        }
-        public class FromUriAttribute : Attribute, IBindingSourceMetadata, IModelNameProvider, IOptionalBinderMetadata {
 {
-            public FromUriAttribute();

-            public BindingSource BindingSource { get; }

-            public bool IsOptional { get; set; }

-            public string Name { get; set; }

-        }
-        public sealed class HttpError : Dictionary<string, object>, IXmlSerializable {
 {
-            public HttpError();

-            public HttpError(ModelStateDictionary modelState, bool includeErrorDetail);

-            public HttpError(Exception exception, bool includeErrorDetail);

-            public HttpError(string message);

-            public string ExceptionMessage { get; set; }

-            public string ExceptionType { get; set; }

-            public HttpError InnerException { get; }

-            public string Message { get; set; }

-            public string MessageDetail { get; set; }

-            public HttpError ModelState { get; }

-            public string StackTrace { get; set; }

-            public TValue GetPropertyValue<TValue>(string key);

-            XmlSchema System.Xml.Serialization.IXmlSerializable.GetSchema();

-            void System.Xml.Serialization.IXmlSerializable.ReadXml(XmlReader reader);

-            void System.Xml.Serialization.IXmlSerializable.WriteXml(XmlWriter writer);

-        }
-        public static class HttpErrorKeys {
 {
-            public static readonly string ErrorCodeKey;

-            public static readonly string ExceptionMessageKey;

-            public static readonly string ExceptionTypeKey;

-            public static readonly string InnerExceptionKey;

-            public static readonly string MessageDetailKey;

-            public static readonly string MessageKey;

-            public static readonly string MessageLanguageKey;

-            public static readonly string ModelStateKey;

-            public static readonly string StackTraceKey;

-        }
-        public class HttpResponseException : Exception {
 {
-            public HttpResponseException(HttpResponseMessage response);

-            public HttpResponseException(HttpStatusCode statusCode);

-            public HttpResponseMessage Response { get; private set; }

-        }
-        public class InternalServerErrorResult : StatusCodeResult {
 {
-            public InternalServerErrorResult();

-        }
-        public class InvalidModelStateResult : ObjectResult {
 {
-            public InvalidModelStateResult(ModelStateDictionary modelState, bool includeErrorDetail);

-            public bool IncludeErrorDetail { get; private set; }

-            public ModelStateDictionary ModelState { get; private set; }

-            public override Task ExecuteResultAsync(ActionContext context);

-        }
-        public class NegotiatedContentResult<T> : ObjectResult {
 {
-            public NegotiatedContentResult(HttpStatusCode statusCode, T content);

-            public T Content { get; private set; }

-            public override Task ExecuteResultAsync(ActionContext context);

-        }
-        public class ResponseMessageResult : ObjectResult {
 {
-            public ResponseMessageResult(HttpResponseMessage response);

-            public HttpResponseMessage Response { get; private set; }

-        }
-    }
-}
```

