我尝试使用swaggeUI创建REST方法。
按ID分享User的方法,firstName分析另一个方法,如下所示:
@Produces( { MediaType.APPLICATION_JSON } )
@Path( "/{firstName}" )
@GET
@ApiOperation( value = "Find User by e-mail", notes = "Find User by e-mail", response = User.class )
@ApiResponses( {
@ApiResponse( code = 404, message = "User with such e-mail doesn't exists" )
} )
public User getUserByFirstName( @ApiParam( value = "E-Mail address to lookup for", required = true ) @PathParam( "email" ) final String email );
@GET
@Path("/{userId}")
@Nullable
@Produces(MediaType.APPLICATION_JSON)
User getUserById(@Nonnull @PathParam("userId") Long userId);
构建代码时出现此错误:
检测到以下问题:警告:资源模型有 HTTP方法GET和输入的模糊(子)资源方法 mime-types由" @ Consumes"定义和" @ Produces"注释 Java方法用户getUserByFirstName(java.lang.String)和public 抽象用户getUserById(java.lang.Long)匹配常规 表达式/([^ /] +)。这两种方法产生并准确消耗 相同的mime-types,因此它们作为资源调用 方法永远都会失败。警告:(子)资源方法indexUsers 在UserService中包含空路径注释。
我是REST的新手,我需要帮助来修复此问题。
谢谢
答案 0 :(得分:1)
尝试更改@Path定义。它无法判断Long是一个数字还是String {firstname}可能是一个Long。
尝试:
@Path("/name/{firstname}")
....
@Path("/id/{userid}")