当前位置: 首页 > 知识库问答 >
问题:

我在使用@BeanParam注释时遇到问题

司马高明
2023-03-14

我使用的是JAX-RS注解,但我遇到了@BeanParam的问题。我用的是Wildfly-Swarm和maven。以下几行是我错误的一部分:

<modelVersion>4.0.0</modelVersion> 
<groupId>com.test.example</groupId> 
<artifactId>ws-be-example1</artifactId> 
<name>ws-be-example1</name>
<version>1.0.0-SNAPSHOT</version> 
<packaging>jar</packaging> 
<properties>
    <version.wildfly.swarm>2016.8.1</version.wildfly.swarm>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>bom-all</artifactId>
            <version>${version.wildfly.swarm}</version>

            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>


<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
        <scope>provided</scope>
    </dependency>

    <!-- Wildfly Swarm Fractions -->
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>logging</artifactId>
    </dependency>
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>jaxrs-cdi</artifactId>
    </dependency>
    <dependency>
        <groupId>org.wildfly.swarm</groupId>
        <artifactId>swagger</artifactId>
    </dependency>


    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.4.2</version>
    </dependency>

    <dependency>
        <groupId>com.googlecode.json-simple</groupId>
        <artifactId>json-simple</artifactId>
        <version>1.1</version>
    </dependency>
</dependencies>

<build>
    <finalName>ws-be-example1</finalName>

    <plugins>

        <plugin>
            <groupId>org.wildfly.swarm</groupId>
            <artifactId>wildfly-swarm-plugin</artifactId>
            <version>${version.wildfly.swarm}</version>

            <configuration>
                <mainClass>com.test.example.Main</mainClass>
                <properties>
                    <swarm.http.port>3001</swarm.http.port> 
                    <swarm.debug.port>5005</swarm.debug.port>
                </properties>

                <environment>
                    <EXAMPLE2_HOST>localhost</EXAMPLE2_HOST>
                    <EXAMPLE2_PORT>8082</EXAMPLE2_PORT>
                    <EXAMPLE2_CONTEXT>/example2/frame</EXAMPLE2_CONTEXT>
                </environment>
            </configuration>

            <executions>
                <execution>
                    <goals>
                        <goal>package</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
package com.test.example.models;
import javax.ws.rs.FormParam;

public class User {


   @FormParam("nombre")
   private String nombre;

   @FormParam("apellido1")
   private String apellido1;

   @FormParam("apellido2")
   private String apellido2;

   @FormParam("direccion")
   private String direccion;

public User(String nombre, String apellido1, String apellido2, String direccion) {
    this.nombre = nombre;
    this.apellido1 = apellido1;
    this.apellido2 = apellido2;
    this.direccion = direccion;
}

public String getNombre() {
    return nombre;
}

public String getApellido1() {
    return apellido1;
}

public String getApellido2() {
    return apellido2;
}

public String getDireccion() {
    return direccion;
}
}
@Path("/test")
@POST
@Produces(MediaType.APPLICATION_JSON)
public Response prueba(@BeanParam User user){
   return Response.ok().build();
}

共有1个答案

桑飞语
2023-03-14

问题解决了!我忘了在JaxrSarchive中添加我的类的包...

    JAXRSArchive deployment = ShrinkWrap.create(JAXRSArchive.class);

    deployment.setContextRoot("example1");
    deployment.addPackage("com.test.example.rest");
    deployment.addPackage("com.test.example.services");

    //I forgot to add this line
    deployment.addPackage("com.test.example.models");  

谢谢你们的帮助!:)

 类似资料:
  • 我试图用< code > swagger-maven-plugin 来记录我的api。 当我用< code>@Parameter注释路由参数时,只要没有用< code>@BeanParam注释,就会在openapi生成的文件中很好地记录下来。 如招摇岩心文件所述, @Parameter可以代替或与JAX-RS参数注释(@PathParam、@QueryParam、@HeaderParam、@@Fo

  • 当我访问我的Swagger UIendpoint时,我会看到这个服务的记录良好的条目,包括关于和参数的信息。现在,我试图以类似的方式创建和方法,但遇到了一个问题。 由于我的/请求包含许多表单参数,所以我将它们封装到一个对象中,并用注释该方法。我的表单对象如下所示: 我的方法如下所示: 什么也没做。我尝试将方法签名更改为如下所示: 还是什么都没有。我的问题是,是否有一种方法可以让OpenAPI/Sw

  • 编辑:我刚刚意识到,即使是一个带有应用程序条的简单屏幕,也会发生这种情况 错误:任务“:app:checkdebugaarmadata”的执行失败 无法解析配置“:app:debugRuntimeClasspath”的所有文件。无法解析com。谷歌。firebase:firebase firestore:22.1.2。所需人员:项目:应用程序 无法解析com。谷歌。firebase:firebas

  • 我不明白如何解决这个问题。我该怎么办。php和连接器。连接中的php文件。php第664行: 拒绝用户“root”@“localhost”的SQLSTATE[HY000][1045]访问(使用密码:YES)(SQL:select*from information\u schema.tables,其中table\u schema=STDHUB和table\u name=migrations) 插入连

  • 弃用:Python 2.7将于2020年1月1日结束其使用寿命。请升级您的Python,因为Python 2.7将在该日期后不再维护。pip的未来版本将放弃对Python2.7的支持。 已满足的要求:烧瓶包装在/usr/local/lib/python2.7/site-packages(3.0.7)中 已满足要求:六个in/usr/local/lib/python2.7/site-packages