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 golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to