连云港网站建设服务,网址的格式是什么样的,中小型网站建设新闻,阳山网站seo我正在使用Jersey,Jax-rs和swagger(Spring for injection).我的对象有一些成员和嵌入对象,其名称由多个单词组成,在代码中我使用camelCase.我定义了一个解析器,因此按照标准惯例将它们作为下划线发出.问题是,招摇是显然没有拿起这个解析器,所以对象仍然在swagger json中显示为c…我正在使用Jersey,Jax-rs和swagger(Spring for injection).我的对象有一些成员和嵌入对象,其名称由多个单词组成,在代码中我使用camelCase.我定义了一个解析器,因此按照标准惯例将它们作为下划线发出.问题是,招摇是显然没有拿起这个解析器,所以对象仍然在swagger json中显示为camelCase.以下是我具体配置的一些细节我的pom.xml的片段4.2.3.RELEASE2.22.1……javax.servletjavax.servlet-api3.1.0org.glassfish.jersey.containersjersey-container-servlet${glassfish.jersey.version}org.glassfish.jersey.corejersey-server${glassfish.jersey.version}org.glassfish.jersey.corejersey-client${glassfish.jersey.version}org.glassfish.jersey.mediajersey-media-json-jackson${glassfish.jersey.version}io.swaggerswagger-jersey2-jaxrs1.5.0…..我只使用注释,所以我的web.xml是空的,我有一个AppInitializer类. Swagger servlet在类中初始化public class AppInitializer implements WebApplicationInitializer {public void onStartup(ServletContext container) throws ServletException {AnnotationConfigWebApplicationContext ctx new AnnotationConfigWebApplicationContext();ctx.register(MongoDbConfig.class);ctx.register(CORSResponseFilter.class);ctx.setServletContext(container);container.addListener(new ContextLoaderListener(ctx));container.addListener(new RequestContextListener());ServletRegistration.Dynamic servlet container.addServlet(jersey-servlet,new org.glassfish.jersey.servlet.ServletContainer());servlet.setInitParameter(jersey.config.server.provider.packages, io.swagger.jaxrs.listing,com.my.server.config,com.my.server.resource);servlet.setLoadOnStartup(1);servlet.addMapping(/api/*);ServletRegistration.Dynamic swagger container.addServlet(SwaggerServlet,new io.swagger.jersey.config.JerseyJaxrsConfig());swagger.setInitParameter(api.version, 1.0.0);swagger.setInitParameter(swagger.api.basepath, container.getContextPath()/api);swagger.setLoadOnStartup(2);}}这是我的主要模型import java.io.Serializable;import javax.validation.constraints.NotNull;import com.fasterxml.jackson.annotation.JsonIgnoreProperties;import com.fasterxml.jackson.annotation.JsonInclude;import io.swagger.annotations.ApiModel;/*** author Tamar Rosen**/JsonIgnoreProperties(ignoreUnknown true)JsonInclude(JsonInclude.Include.NON_EMPTY)ApiModelpublic class Property implements Serializable{/****/private static final long serialVersionUID 1L;private String id;NotNullprivate String name;NotNullprivate String description;private PropertyDetails propertyDetails;private int monthlyTax;private String schemaUrl;public String getId() {return id;}public void setId(String id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getDescription() {return description;}public void setDescription(String description) {this.description description;}public PropertyDetails getPropertyDetails() {return propertyDetails;}public void setPropertyDetails(PropertyDetails propertyDetails) {this.propertyDetails propertyDetails;}public int getMonthlyTax() {return monthlyTax;}public void setMonthlyTax(int monthlyTax) {this.monthlyTax monthlyTax;}public String getSchemaUrl() {return schemaUrl;}public void setSchemaUrl(String schemaUrl) {this.schemaUrl schemaUrl;}}在ContextResolver类中设置CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES.这样可以正常工作,除非它没有反映在由swagger生成的doc中.以下是ContextResolver实现import javax.ws.rs.ext.ContextResolver;import javax.ws.rs.ext.Provider;import com.fasterxml.jackson.databind.ObjectMapper;import com.fasterxml.jackson.databind.PropertyNamingStrategy;Providerpublic class ObjectMapperContextResolver implements ContextResolver {private final ObjectMapper mapper;public ObjectMapperContextResolver() {mapper new ObjectMapper();mapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);}public ObjectMapper getContext(Class type) {return mapper;}}我怀疑问题是swagger servlet没有看到Context解析器,但我不知道如何解决这个问题