Geri kalan alammı belgelemek için swagger kullanmaya çalışıyorum ve biraz başarı kazandım, ancak kısıtlı kaynak parametreleri söz konusu olduğunda bir duvara çarpıyorum. JBoss RESTEasy'i hazır bekletme sağlayıcısı ve Jackson 2.x açıklamalı POJO'larla kullanıyorum. Ben vuruyorum sorun @ DecimalMin/@ DecimalMax ek açıklamalar Benswagger ve jboss ile javax doğrulama
java.lang.NoSuchMethodError: javax.validation.constraints.DecimalMin.inclusive()Z
O swagger javax.validation.constraints daha yeni bir sürümünü kullanmaya çalışıyor görünüyor olsun karşılaşıldığında olduğunu. * (V1.1.0 .Final) kütüphanesi ve jboss eski bir versiyonunu kullanıyor (v1.0.0.GA). Uygun kütüphaneyi boşuna eklemek için düşünebileceğim herşeyi denedim.
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-jaxrs</artifactId>
<version>1.5.8</version>
</dependency>
Örnek POJO Parçacığı: Ben çok denedim
...
import javax.validation.constraints.DecimalMax;
import javax.validation.constraints.DecimalMin;
...
@JsonInclude(JsonInclude.Include.NON_NULL)
@Generated("org.jsonschema2pojo")
@JsonPropertyOrder({
"altM",
"altDatum"
})
public class Altitude {
@JsonProperty("altM")
@DecimalMin("-2000")
@DecimalMax("10000")
@NotNull
private Double altM;
...
Çevre JBoss DAP 6.4.0.GA
Benim dayı girişi (pom.xml) 'dir şeylerin, ama daha fazla öğrendim, aşağıda benim bağımlılıklarımı düzeltmek için en alakalı iki girişimi olduğuna inanıyorum:
Denemesi 1:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-hibernatevalidator-provider</artifactId>
<version>3.0.16.Final</version>
<exclusions>
<exclusion>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
Denemesi 2: açıkça javax.validation v1.1.0.Final ekleyin: & let swagger dahil hazırda doğrulayıcısından javax.validation dışla
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
Maven Bağımlılık ağacı (girişimi 1):
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ MissionPlanningService ---
[INFO] mil.army.cerdec.cpi.mcas:MissionPlanningService:war:0.0.2-SNAPSHOT
[INFO] +- org.jboss.resteasy:resteasy-jaxrs:jar:3.0.16.Final:compile
[INFO] | +- org.jboss.spec.javax.ws.rs:jboss-jaxrs-api_2.0_spec:jar:1.0.0.Final:compile
[INFO] | +- org.jboss.spec.javax.annotation:jboss-annotations-api_1.2_spec:jar:1.0.0.Final:compile
[INFO] | +- javax.activation:activation:jar:1.1.1:compile
[INFO] | +- org.apache.httpcomponents:httpclient:jar:4.3.6:compile
[INFO] | | +- org.apache.httpcomponents:httpcore:jar:4.3.3:compile
[INFO] | | +- commons-logging:commons-logging:jar:1.1.3:compile
[INFO] | | \- commons-codec:commons-codec:jar:1.6:compile
[INFO] | +- commons-io:commons-io:jar:2.1:compile
[INFO] | +- net.jcip:jcip-annotations:jar:1.0:compile
[INFO] | \- org.jboss.logging:jboss-logging:jar:3.1.4.GA:compile
[INFO] +- org.jboss.resteasy:resteasy-hibernatevalidator-provider:jar:3.0.16.Final:compile
[INFO] | +- org.hibernate:hibernate-validator:jar:4.3.1.Final:compile
[INFO] | \- org.jboss.weld.se:weld-se:jar:2.1.0.Final:compile
[INFO] +- commons-lang:commons-lang:jar:2.6:compile
[INFO] +- org.jboss.resteasy:resteasy-jackson2-provider:jar:3.0.16.Final:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-core:jar:2.6.3:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.3:compile
[INFO] | +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.3:compile
[INFO] | \- com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider:jar:2.6.3:compile
[INFO] | +- com.fasterxml.jackson.jaxrs:jackson-jaxrs-base:jar:2.6.3:compile
[INFO] | \- com.fasterxml.jackson.module:jackson-module-jaxb-annotations:jar:2.6.3:compile
[INFO] \- io.swagger:swagger-jaxrs:jar:1.5.8:compile
[INFO] +- com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.4.5:compile
[INFO] | \- org.yaml:snakeyaml:jar:1.12:compile
[INFO] +- com.fasterxml.jackson.dataformat:jackson-dataformat-xml:jar:2.4.5:compile
[INFO] | \- org.codehaus.woodstox:stax2-api:jar:3.1.4:compile
[INFO] +- io.swagger:swagger-core:jar:1.5.8:compile
[INFO] | +- org.apache.commons:commons-lang3:jar:3.2.1:compile
[INFO] | +- org.slf4j:slf4j-api:jar:1.6.3:compile
[INFO] | +- com.fasterxml.jackson.datatype:jackson-datatype-joda:jar:2.4.5:compile
[INFO] | | \- joda-time:joda-time:jar:2.2:compile
[INFO] | +- io.swagger:swagger-models:jar:1.5.8:compile
[INFO] | | \- io.swagger:swagger-annotations:jar:1.5.8:compile
[INFO] | \- javax.validation:validation-api:jar:1.1.0.Final:compile
[INFO] +- javax.ws.rs:jsr311-api:jar:1.1.1:compile
[INFO] +- org.reflections:reflections:jar:0.9.10:compile
[INFO] | +- org.javassist:javassist:jar:3.19.0-GA:compile
[INFO] | \- com.google.code.findbugs:annotations:jar:2.0.1:compile
[INFO] \- com.google.guava:guava:jar:18.0:compile
benim soru yani: nasıl Swagger JBoss RESTEasy & Hazırda Validator ile kullanılır?
P.S. Yağma/jboss/javaee için yeniyim, bu yüzden lütfen aptalca soruları affedin ve daha fazla bilgi istemekte tereddüt etmeyin. Tam olarak burada ne sağladığımdan emin değilim.
ne tür: Doğru doğrulama kütüphaneye JBoss işaret Sonra
bu? JBoss EAP veya WildFly gibi bir Java EE kabı? Ya da Java SE stili, Tomcat vb? Ve bağımlılık grafiği (mvn bağımlılık: ağaç) gönderebilir misiniz? – Gunnar
Soruya eklendi. Çevre JBoss EAP 6.4.0.GA. Yukarıdaki # 1 girişimi için Bağımlılık ağacı. – Jeremy
# 1 deneyimini anlatabildiğim kadarıyla beklediğim şeyi yapıyor ve uygun sürümle birlikte javax.validation kütüphanelerini dahil ediyor. Bu yüzden NoSuchMethodError'u neden alıyorum diye şaşkınım ... – Jeremy