in server/resource/v1/kv_resource.go [361:506]
func (r *KVResource) URLPatterns() []restful.Route {
return []restful.Route{
{
Method: http.MethodPost,
Path: "/v1/{project}/kie/file",
ResourceFunc: r.Upload,
FuncDesc: "upload key values",
Parameters: []*restful.Parameters{
DocPathProject,
DocHeaderContentTypeJSONAndYaml,
},
Read: KVUploadBody{},
Returns: []*restful.Returns{
{
Code: http.StatusOK,
Model: model.DocRespOfUpload{},
},
},
Consumes: []string{goRestful.MIME_JSON, common.ContentTypeYaml},
Produces: []string{goRestful.MIME_JSON, common.ContentTypeYaml},
}, {
Method: http.MethodPost,
Path: "/v1/{project}/kie/kv",
ResourceFunc: r.Post,
FuncDesc: "create a key value",
Parameters: []*restful.Parameters{
DocPathProject, DocHeaderContentTypeJSONAndYaml,
},
Read: KVCreateBody{},
Returns: []*restful.Returns{
{
Code: http.StatusOK,
Model: model.DocResponseSingleKey{},
},
},
Consumes: []string{goRestful.MIME_JSON, common.ContentTypeYaml},
Produces: []string{goRestful.MIME_JSON, common.ContentTypeYaml},
}, {
Method: http.MethodPut,
Path: "/v1/{project}/kie/kv/{kv_id}",
ResourceFunc: r.Put,
FuncDesc: "update a key value",
Parameters: []*restful.Parameters{
DocPathProject, DocPathKeyID, DocHeaderContentTypeJSONAndYaml,
},
Read: KVUpdateBody{},
Returns: []*restful.Returns{
{
Code: http.StatusOK,
Model: model.DocResponseSingleKey{},
},
},
Consumes: []string{goRestful.MIME_JSON, common.ContentTypeYaml},
Produces: []string{goRestful.MIME_JSON, common.ContentTypeYaml},
}, {
Method: http.MethodGet,
Path: "/v1/{project}/kie/kv/{kv_id}",
ResourceFunc: r.Get,
FuncDesc: "get key values by kv_id",
Parameters: []*restful.Parameters{
DocPathProject, DocPathKeyID,
},
Returns: []*restful.Returns{
{
Code: http.StatusOK,
Message: "get key value success",
Model: model.DocResponseSingleKey{},
Headers: map[string]goRestful.Header{
common.HeaderRevision: DocHeaderRevision,
},
},
{
Code: http.StatusNotFound,
Message: "key value not found",
},
},
Produces: []string{goRestful.MIME_JSON},
}, {
Method: http.MethodGet,
Path: "/v1/{project}/kie/kv",
ResourceFunc: r.List,
FuncDesc: "list key values by labels and key",
Parameters: []*restful.Parameters{
DocPathProject, DocQueryKeyParameters, DocQueryStatusParameters, DocQueryLabelParameters,
DocQueryWait, DocQueryMatch, DocQueryRev, DocQueryLimitParameters, DocQueryOffsetParameters,
},
Returns: []*restful.Returns{
{
Code: http.StatusOK,
Model: model.DocResponseGetKey{},
Headers: map[string]goRestful.Header{
common.HeaderRevision: DocHeaderRevision,
},
}, {
Code: http.StatusNotModified,
Message: "empty body",
},
},
Produces: []string{goRestful.MIME_JSON},
}, {
Method: http.MethodDelete,
Path: "/v1/{project}/kie/kv/{kv_id}",
ResourceFunc: r.Delete,
FuncDesc: "delete key by kv ID.",
Parameters: []*restful.Parameters{
DocPathProject,
DocPathKeyID,
},
Returns: []*restful.Returns{
{
Code: http.StatusNoContent,
Message: "delete success",
},
{
Code: http.StatusNotFound,
Message: "no key value found for deletion",
},
{
Code: http.StatusInternalServerError,
Message: "server error",
},
},
}, {
Method: http.MethodDelete,
Path: "/v1/{project}/kie/kv",
ResourceFunc: r.DeleteList,
FuncDesc: "delete keys.",
Parameters: []*restful.Parameters{
DocPathProject, DocHeaderContentTypeJSON,
},
Read: DeleteBody{},
Returns: []*restful.Returns{
{
Code: http.StatusNoContent,
Message: "delete success",
},
{
Code: http.StatusInternalServerError,
Message: "server error",
},
},
Consumes: []string{goRestful.MIME_JSON},
Produces: []string{goRestful.MIME_JSON},
},
}
}