Read Methods

Annotating a method with the Read annotation will cause it to respond to GET requests.

CurrentDateEndpoint

  1. import io.micronaut.management.endpoint.annotation.Endpoint;
  2. import io.micronaut.management.endpoint.annotation.Read;
  3. @Endpoint(id = "date",
  4. prefix = "custom",
  5. defaultEnabled = true,
  6. defaultSensitive = false)
  7. public class CurrentDateEndpoint {
  8. private Date currentDate;
  9. @Read
  10. public Date currentDate() {
  11. return currentDate;
  12. }
  13. }

CurrentDateEndpoint

  1. import io.micronaut.management.endpoint.annotation.Endpoint
  2. import io.micronaut.management.endpoint.annotation.Read
  3. @Endpoint(id = "date",
  4. prefix = "custom",
  5. defaultEnabled = true,
  6. defaultSensitive = false)
  7. class CurrentDateEndpoint {
  8. Date currentDate
  9. @Read
  10. Date currentDate() {
  11. return currentDate
  12. }
  13. }

CurrentDateEndpoint

  1. import io.micronaut.management.endpoint.annotation.Endpoint
  2. import io.micronaut.management.endpoint.annotation.Read
  3. @Endpoint(id = "date", prefix = "custom", defaultEnabled = true, defaultSensitive = false)
  4. class CurrentDateEndpoint {
  5. private var currentDate: Date? = null
  6. @Read
  7. fun currentDate(): Date? {
  8. return currentDate
  9. }
  10. }

The above method responds to the following request:

  1. $ curl -X GET localhost:55838/date
  2. 1526085903689

The Read annotation accepts an optional produces argument, which sets the media type returned from the method (default is application/json):

CurrentDateEndpoint

  1. import io.micronaut.management.endpoint.annotation.Endpoint;
  2. import io.micronaut.management.endpoint.annotation.Read;
  3. import io.micronaut.http.MediaType;
  4. import io.micronaut.management.endpoint.annotation.Selector;
  5. @Endpoint(id = "date",
  6. prefix = "custom",
  7. defaultEnabled = true,
  8. defaultSensitive = false)
  9. public class CurrentDateEndpoint {
  10. private Date currentDate;
  11. @Read(produces = MediaType.TEXT_PLAIN) (1)
  12. public String currentDatePrefix(@Selector String prefix) {
  13. return prefix + ": " + currentDate;
  14. }
  15. }

CurrentDateEndpoint

  1. import io.micronaut.management.endpoint.annotation.Endpoint
  2. import io.micronaut.management.endpoint.annotation.Read
  3. import io.micronaut.http.MediaType
  4. import io.micronaut.management.endpoint.annotation.Selector
  5. @Endpoint(id = "date",
  6. prefix = "custom",
  7. defaultEnabled = true,
  8. defaultSensitive = false)
  9. class CurrentDateEndpoint {
  10. Date currentDate
  11. @Read(produces = MediaType.TEXT_PLAIN) (1)
  12. String currentDatePrefix(@Selector String prefix) {
  13. return "${prefix}: ${currentDate}"
  14. }
  15. }

CurrentDateEndpoint

  1. import io.micronaut.management.endpoint.annotation.Endpoint
  2. import io.micronaut.management.endpoint.annotation.Read
  3. import io.micronaut.http.MediaType
  4. import io.micronaut.management.endpoint.annotation.Selector
  5. @Endpoint(id = "date", prefix = "custom", defaultEnabled = true, defaultSensitive = false)
  6. class CurrentDateEndpoint {
  7. private var currentDate: Date? = null
  8. @Read(produces = [MediaType.TEXT_PLAIN]) (1)
  9. fun currentDatePrefix(@Selector prefix: String): String {
  10. return "$prefix: $currentDate"
  11. }
  12. }
1Supported media types are represented by MediaType

The above method responds to the following request:

  1. $ curl -X GET localhost:8080/date/the_date_is
  2. the_date_is: Fri May 11 19:24:21 CDT