@Test public void shouldReturnBodyParamForParamWithoutQBitAnnotations() { final ClassMeta<?> classMeta = ClassMeta.classMeta(Foo.class); ServiceMetaBuilder serviceMetaBuilder = new ServiceMetaBuilder().setRequestPaths(Lists.list("foo")); serviceMetaBuilder.addMethods("foo", Lists.list(classMeta.methods())); ServiceMethodMeta serviceMethodMeta = Lists.filterBy(serviceMetaBuilder.getMethods(), new Predicate<ServiceMethodMeta>() { @Override public boolean test(ServiceMethodMeta serviceMethodMeta) { return "otherAnnotation".equals(serviceMethodMeta.getName()); } }).iterator().next(); assertTrue(serviceMethodMeta.getRequestEndpoints().iterator().hasNext()); assertTrue(serviceMethodMeta.getRequestEndpoints().iterator().next() .getParameters().iterator().hasNext()); assertTrue(serviceMethodMeta.getRequestEndpoints().iterator().next() .getParameters().iterator().next() .getParam() instanceof BodyParam); }
public ContextMetaBuilder addService(String alias, Class<?> serviceClass) { final ClassMeta<?> classMeta = ClassMeta.classMeta(serviceClass); String name = alias != null ? alias : getServiceName(classMeta); final List<String> requestPaths = getRequestPathsByAnnotated(classMeta, name); if (alias != null) { requestPaths.add(asPath(alias)); } final String description = getDescriptionFromRequestMapping(classMeta); final ServiceMetaBuilder serviceMetaBuilder = ServiceMetaBuilder.serviceMetaBuilder() .setRequestPaths(requestPaths).setName(name).setDescription(description) .setResponseHeaders(getResponseHeaders(classMeta)); serviceMetaBuilder.addMethods(this.getRootURI(), Lists.list(classMeta.methods())); addService(serviceMetaBuilder.build()); return this; }
@Test public void test() { final ClassMeta<?> classMeta = ClassMeta.classMeta(Foo.class); ServiceMetaBuilder serviceMetaBuilder = new ServiceMetaBuilder().setRequestPaths(Lists.list("foo")); serviceMetaBuilder.addMethods("foo", Lists.list(classMeta.methods())); final Map<String, ServiceMethodMeta> serviceMethodMetaMap = Maps.toMap("name", serviceMetaBuilder.getMethods()); final ServiceMethodMeta serviceMethodMeta = serviceMethodMetaMap.get("foo"); assertEquals(int.class, serviceMethodMeta.getReturnType()); final RequestMeta requestMeta = serviceMethodMeta.getRequestEndpoints().get(0); assertEquals("/foo", requestMeta.getRequestURI()); }
@Test public void testNoCacheWithGet() { final ClassMeta<?> classMeta = ClassMeta.classMeta(Foo.class); ServiceMetaBuilder serviceMetaBuilder = new ServiceMetaBuilder().setRequestPaths(Lists.list("foo")); serviceMetaBuilder.addMethods("/foo", Lists.list(classMeta.methods())); final Map<String, ServiceMethodMeta> serviceMethodMetaMap = Maps.toMap("name", serviceMetaBuilder.getMethods()); final ServiceMethodMeta serviceMethodMeta = serviceMethodMetaMap.get("getNoCache"); final RequestMeta requestMeta = serviceMethodMeta.getRequestEndpoints().get(0); assertEquals("/nocache", requestMeta.getRequestURI()); assertTrue(requestMeta.hasResponseHeaders()); MultiMap<String, String> headers = requestMeta.getResponseHeaders(); assertEquals(1, headers.size()); final List<String> controls = (List<String>) headers.getAll(HttpHeaders.CACHE_CONTROL); assertEquals("max-age=0", controls.get(0)); assertEquals("no-cache, no-store", controls.get(1)); }
@Test public void testNoCache() { final ClassMeta<?> classMeta = ClassMeta.classMeta(Foo.class); ServiceMetaBuilder serviceMetaBuilder = new ServiceMetaBuilder().setRequestPaths(Lists.list("foo")); serviceMetaBuilder.addMethods("/foo", Lists.list(classMeta.methods())); final Map<String, ServiceMethodMeta> serviceMethodMetaMap = Maps.toMap("name", serviceMetaBuilder.getMethods()); final ServiceMethodMeta serviceMethodMeta = serviceMethodMetaMap.get("noCache"); final RequestMeta requestMeta = serviceMethodMeta.getRequestEndpoints().get(0); assertEquals("/nocache", requestMeta.getRequestURI()); assertTrue(requestMeta.hasResponseHeaders()); MultiMap<String, String> headers = requestMeta.getResponseHeaders(); assertEquals(1, headers.size()); final List<String> controls = (List<String>) headers.getAll(HttpHeaders.CACHE_CONTROL); assertEquals("max-age=0", controls.get(0)); assertEquals("no-cache, no-store", controls.get(1)); }
@Test public void testRequestHeader() { final ClassMeta<?> classMeta = ClassMeta.classMeta(Foo.class); ServiceMetaBuilder serviceMetaBuilder = new ServiceMetaBuilder().setRequestPaths(Lists.list("foo")); serviceMetaBuilder.addMethods("/foo", Lists.list(classMeta.methods())); final Map<String, ServiceMethodMeta> serviceMethodMetaMap = Maps.toMap("name", serviceMetaBuilder.getMethods()); final ServiceMethodMeta serviceMethodMeta = serviceMethodMetaMap.get("methodWithHeaders"); final RequestMeta requestMeta = serviceMethodMeta.getRequestEndpoints().get(0); assertEquals("/headers", requestMeta.getRequestURI()); assertTrue(requestMeta.hasResponseHeaders()); MultiMap<String, String> headers = requestMeta.getResponseHeaders(); assertEquals(1, headers.size()); assertEquals("BAR", headers.getFirst("FOO")); }
@Test public void testManyRequestHeaders() { final ClassMeta<?> classMeta = ClassMeta.classMeta(Foo.class); ServiceMetaBuilder serviceMetaBuilder = new ServiceMetaBuilder().setRequestPaths(Lists.list("foo")); serviceMetaBuilder.addMethods("/foo", Lists.list(classMeta.methods())); final Map<String, ServiceMethodMeta> serviceMethodMetaMap = Maps.toMap("name", serviceMetaBuilder.getMethods()); final ServiceMethodMeta serviceMethodMeta = serviceMethodMetaMap.get("methodWithManyHeaders"); final RequestMeta requestMeta = serviceMethodMeta.getRequestEndpoints().get(0); assertEquals("/manyheaders", requestMeta.getRequestURI()); assertTrue(requestMeta.hasResponseHeaders()); MultiMap<String, String> headers = requestMeta.getResponseHeaders(); assertEquals(2, headers.size()); assertEquals("BAR", headers.getFirst("FOO")); assertEquals("BAZ", headers.getFirst("BAR")); }
public ContextMetaBuilder addService(String alias, Class<?> serviceClass) { final ClassMeta<?> classMeta = ClassMeta.classMeta(serviceClass); String name = alias != null ? alias : getServiceName(classMeta); final List<String> requestPaths = getRequestPathsByAnnotated(classMeta, name); if (alias != null) { requestPaths.add(asPath(alias)); } final String description = getDescriptionFromRequestMapping(classMeta); final ServiceMetaBuilder serviceMetaBuilder = ServiceMetaBuilder.serviceMetaBuilder() .setRequestPaths(requestPaths).setName(name).setDescription(description) .setResponseHeaders(getResponseHeaders(classMeta)); serviceMetaBuilder.addMethods(this.getRootURI(), Lists.list(classMeta.methods())); addService(serviceMetaBuilder.build()); return this; }
public ContextMetaBuilder addService(final Class<?> serviceClass) { final ClassMeta<?> classMeta = ClassMeta.classMeta(serviceClass); String name = getServiceName(classMeta); final List<String> requestPaths = getRequestPathsByAnnotated(classMeta, name); final String description = getDescriptionFromRequestMapping(classMeta); final ServiceMetaBuilder serviceMetaBuilder = ServiceMetaBuilder.serviceMetaBuilder() .setRequestPaths(requestPaths).setName(name).setDescription(description) .setResponseHeaders(getResponseHeaders(classMeta)); serviceMetaBuilder.addMethods(this.getRootURI(), Lists.list(classMeta.methods())); addService(serviceMetaBuilder.build()); return this; }