gpt4 book ai didi

java - 给定 URI 的注释检索

转载 作者:行者123 更新时间:2023-12-02 10:55:31 27 4
gpt4 key购买 nike

我想在给定服务对应的 URI 的情况下检索服务的注释(特别是 @RolesAllowed )。这是一个例子:

服务:

@GET
@Path("/example")
@RolesAllowed({ "BASIC_USER", "ADMIN" })
public Response foo() {
//Service implementation
}

我想检索给定字符串“/example”的{“BASIC_USER”,“ADMIN”}。

我使用 RestAssured 进行测试,因此,如果可能的话,我更喜欢后者的解决方案。谢谢。

最佳答案

我不熟悉 RestAssured,但我编写了以下 Junit 测试并且它有效。也许您可以调整它以与 RestAssured 一起使用。

首先是服务:

public class Service {

@GET
@Path("/example")
@RolesAllowed({ "BASIC_USER", "ADMIN" })
public Response foo() {
return new Response();
}

}

这是相应的 Junit 测试:

@Test
public void testFooRoles() throws Exception {
Method method = Service.class.getMethod("foo");
Annotation path = method.getDeclaredAnnotation(javax.ws.rs.Path.class);
assertTrue(((Path) path).value().equals("/example"));

RolesAllowed annotation = method.getDeclaredAnnotation(RolesAllowed.class);
List<String> roles = Arrays.asList(annotation.value());
assertEquals(2, roles.size());
assertTrue(roles.contains("BASIC_USER"));
assertTrue(roles.contains("ADMIN"));
}

关于java - 给定 URI 的注释检索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51782897/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com