Newer
Older
package design
import . "goa.design/goa/v3/dsl"
var _ = API("cache", func() {
Title("Cache Service")
Description("The cache service exposes interface for working with Redis.")
Server("cache", func() {
Description("Cache Server")
Host("development", func() {
Description("Local development server")
})
})
})
var _ = Service("health", func() {
Description("Health service provides health check endpoints.")
Method("Liveness", func() {
Payload(Empty)
Result(Empty)
HTTP(func() {
GET("/liveness")
Response(StatusOK)
})
})
Method("Readiness", func() {
Payload(Empty)
Result(Empty)
HTTP(func() {
GET("/readiness")
Response(StatusOK)
})
})
})
var _ = Service("cache", func() {
Description("Cache service allows storing and retrieving data from distributed cache.")
Method("Get", func() {
Description("Get value from the cache. The result is a sequence of bytes which the client must decode.")
Payload(CacheGetRequest)
Result(Bytes)
HTTP(func() {
GET("/v1/cache")
Header("key:x-cache-key", String, "Cache entry key", func() {
Example("did:web:example.com")
})
Header("namespace:x-cache-namespace", String, "Cache entry namespace", func() {
Example("Login")
})
Header("scope:x-cache-scope", String, "Cache entry scope", func() {
Example("administration")
})
Response(StatusOK)
})
})
})
var _ = Service("openapi", func() {
Description("The openapi service serves the OpenAPI(v3) definition.")
Meta("swagger:generate", "false")
HTTP(func() {
Path("/swagger-ui")
})
Files("/openapi.json", "./gen/http/openapi3.json", func() {
Description("JSON document containing the OpenAPI(v3) service definition")
})
Files("/{*filepath}", "./swagger/")
})