public interface io.micronaut.http.annotation.Controller extends java.lang.annotation.Annotation
  minor version: 0
  major version: 59
  flags: flags: (0x2601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT, ACC_ANNOTATION
  this_class: io.micronaut.http.annotation.Controller
  super_class: java.lang.Object
{
  public abstract java.lang.String value();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: "/"
    RuntimeVisibleAnnotations: 
      io.micronaut.context.annotation.AliasFor(annotation = Lio/micronaut/http/annotation/UriMapping;, member = "value")

  public abstract java.lang.String[] produces();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: {"application/json"}
    RuntimeVisibleAnnotations: 
      io.micronaut.context.annotation.AliasFor(annotation = Lio/micronaut/http/annotation/Produces;, member = "value")

  public abstract java.lang.String[] consumes();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: {"application/json"}
    RuntimeVisibleAnnotations: 
      io.micronaut.context.annotation.AliasFor(annotation = Lio/micronaut/http/annotation/Consumes;, member = "value")

  public abstract java.lang.String port();
    descriptor: ()Ljava/lang/String;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    AnnotationDefault: ""
}
SourceFile: "Controller.java"
    RuntimeVisibleAnnotations: 
      java.lang.annotation.Documented()
      java.lang.annotation.Retention(value = java.lang.annotation.RetentionPolicy.RUNTIME:Ljava/lang/annotation/RetentionPolicy;)
      java.lang.annotation.Target(value = {java.lang.annotation.ElementType.TYPE:Ljava/lang/annotation/ElementType;, java.lang.annotation.ElementType.ANNOTATION_TYPE:Ljava/lang/annotation/ElementType;})
      io.micronaut.context.annotation.Bean()
      io.micronaut.context.annotation.Executable()
      io.micronaut.context.annotation.DefaultScope(value = Ljavax/inject/Singleton;)