Hi I am using NYT's Marvin framework which internally uses gorilla mux. I
am able to delete single record when I pass single id as json object in
request body using postman but I don't know how to handle array of json
objects here. My code is as below:-
For decoding ---
func DecodeDeleteUser(ctx context.Context, r *http.Request) (interface{},
error) {
/// uriDeleteRequest := &UserDel{}
uriDeleteRequest := &[]UserDel{}
log.Infof(ctx, "DeleteUser before decoding :::::: %+v", r)
if err := json.NewDecoder(r.Body).Decode(uriDeleteRequest); err != nil {
log.Errorf(ctx, "Delete User Error : Could not decode body from the
request")
return nil, marvin.NewJSONStatusResponse(
"could not decode request body in DeleteUser",
http.StatusBadRequest,
)
}
log.Infof(ctx, "DeleteUser After decoding ::: decoding done
successfully", uriDeleteRequest)
return uriDeleteRequest, nil
}
It successfully decodes array of JSON. Now problem arises is function below-
func(s service) deleteUserFromDb(ctx context.Context, request interface{})
(interface{}, error) {
// var userdel []UserDel
log.Infof(ctx, "request just inside method deleteUserFromDb :
%+V",request)
r := request.([]*UserDel)
log.Infof(ctx, "request in form of r is : %+V",r)
// db, err := s.ConnectsService.initPostgreConnection(ctx)
_, err := s.ConnectsService.initPostgreConnection(ctx)
if err != nil {
log.Infof(ctx, "Connection established in deleteUserFromDb method ...")
return nil,err
}
return "all fine",nil
}
Here line * r := request.([]*UserDel) *gives following error - panic:
interface conversion: interface {} is *[]test_marvin.UserDel, not
[]*test_marvin.UserDel
Here test_marvin is my code's package name. Please help as I don't know
what is wrong with my above code in golang?
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.