using System;
|
using System.Linq;
|
using System.Net.Http.Formatting;
|
using System.Net.Http.Headers;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Web.Http;
|
using System.Xml;
|
using Microsoft.Owin;
|
using Owin;
|
using Swashbuckle.Application;
|
|
[assembly: OwinStartup(typeof(HH.WCS.Mobox3.Template.Startup))]
|
|
namespace HH.WCS.Mobox3.Template {
|
public class Startup {
|
public void Configuration(IAppBuilder app) {
|
// 有关如何配置应用程序的详细信息,请访问 https://go.microsoft.com/fwlink/?LinkID=316888
|
HttpConfiguration config = new HttpConfiguration();
|
|
|
//config.Formatters.Remove(config.Formatters.JsonFormatter);
|
// 添加 XML 格式化器(必须显式配置)
|
//config.Formatters.Add(new XmlMediaTypeFormatter());
|
|
// 或更详细配置(可选)
|
var xmlFormatter = new XmlMediaTypeFormatter
|
{
|
UseXmlSerializer = true, // 使用 XmlSerializer 而非 DataContractSerializer
|
SupportedMediaTypes = { new MediaTypeHeaderValue("application/xml") },
|
|
};
|
xmlFormatter.WriterSettings.OmitXmlDeclaration = false;
|
xmlFormatter.WriterSettings.Encoding = Encoding.UTF8;
|
xmlFormatter.WriterSettings.Indent = true;
|
config.Formatters.Add(xmlFormatter);
|
|
|
//config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
|
config.Formatters.Add(new JsonMediaTypeFormatter());
|
|
config.Routes.MapHttpRoute(
|
name: "DefaultApi",
|
routeTemplate: "api/{controller}/{action}/{id}",
|
defaults: new { id = RouteParameter.Optional }
|
);
|
// Web API routes
|
//config.MapHttpAttributeRoutes();
|
//config.EnableSwagger(c => c.SingleApiVersion("v1", "hh wms api"))
|
// .EnableSwaggerUi();
|
//config.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
|
//config.Formatters.Add(new JsonMediaTypeFormatter());
|
|
|
//WebApiConfig.Register(config);
|
// Web API routes
|
config.MapHttpAttributeRoutes();
|
|
config.EnableSwagger(c => {
|
c.SingleApiVersion("v1", "hh wms api");
|
c.IncludeXmlComments(System.AppDomain.CurrentDomain.BaseDirectory + "\\HH.WCS.Mobox3.Template.xml");
|
c.CustomProvider((defaultProvider) => new SwaggerCacheProvider(defaultProvider, $@"{System.AppDomain.CurrentDomain.BaseDirectory}\\HH.WCS.Mobox3.Template.xml"));
|
c.ResolveConflictingActions(apiDescriptions => apiDescriptions.First());
|
}
|
).EnableSwaggerUi(c => {
|
c.InjectJavaScript(System.Reflection.Assembly.GetExecutingAssembly(), "swagger.js");
|
});
|
|
|
app.UseWebApi(config);
|
}
|
}
|
}
|