return 200 when key not found (#123)
diff --git a/pkg/model/kv.go b/pkg/model/kv.go
index 71d20cd..5d87baa 100644
--- a/pkg/model/kv.go
+++ b/pkg/model/kv.go
@@ -29,8 +29,8 @@
//KVResponse represents the key value list
type KVResponse struct {
LabelDoc *LabelDocResponse `json:"label,omitempty"`
- Total int `json:"total,omitempty"`
- Data []*KVDoc `json:"data,omitempty"`
+ Total int `json:"total"`
+ Data []*KVDoc `json:"data"`
}
//LabelDocResponse is label struct
diff --git a/server/resource/v1/common.go b/server/resource/v1/common.go
index 2d48b79..3a7a151 100644
--- a/server/resource/v1/common.go
+++ b/server/resource/v1/common.go
@@ -242,11 +242,6 @@
}
kv, err := service.KVService.List(rctx.Ctx, doc.Domain, doc.Project, opts...)
if err != nil {
- if err == service.ErrKeyNotExists {
- rctx.ReadResponseWriter().Header().Set(common.HeaderRevision, strconv.FormatInt(rev, 10))
- WriteErrResponse(rctx, http.StatusNotFound, err.Error(), common.ContentTypeText)
- return
- }
WriteErrResponse(rctx, http.StatusInternalServerError, err.Error(), common.ContentTypeText)
return
}
diff --git a/server/resource/v1/kv_resource.go b/server/resource/v1/kv_resource.go
index 1f83c12..2c42bc5 100644
--- a/server/resource/v1/kv_resource.go
+++ b/server/resource/v1/kv_resource.go
@@ -288,12 +288,6 @@
},
},
{
- Code: http.StatusNotFound,
- Headers: map[string]goRestful.Header{
- common.HeaderRevision: DocHeaderRevision,
- },
- },
- {
Code: http.StatusNotModified,
Message: "empty body",
},
@@ -316,11 +310,6 @@
common.HeaderRevision: DocHeaderRevision,
},
}, {
- Code: http.StatusNotFound,
- Headers: map[string]goRestful.Header{
- common.HeaderRevision: DocHeaderRevision,
- },
- }, {
Code: http.StatusNotModified,
Message: "empty body",
},
diff --git a/server/service/mongo/kv/kv_service.go b/server/service/mongo/kv/kv_service.go
index 99a11c8..e169dcc 100644
--- a/server/service/mongo/kv/kv_service.go
+++ b/server/service/mongo/kv/kv_service.go
@@ -172,7 +172,9 @@
return nil, err
}
defer cur.Close(ctx)
- result := &model.KVResponse{}
+ result := &model.KVResponse{
+ Data: []*model.KVDoc{},
+ }
for cur.Next(ctx) {
curKV := &model.KVDoc{}
if err := cur.Decode(curKV); err != nil {
@@ -188,9 +190,6 @@
result.Data = append(result.Data, curKV)
}
result.Total = total
- if len(result.Data) == 0 {
- return nil, service.ErrKeyNotExists
- }
return result, nil
}