title: Flask-restful, marshal_with + nested data
body: <p>I have been stuck on this for a while now. My problem is I need to be able to use marshal_with and validate on nested fields coming from a POST. My test looks like this: </p>
  
  <pre><code>def test_user_can_apply_with_multiple_dogs(self):
  
      data = {
          # User data
          'registration_type': "guest",
          'first_name': 'Alex',
          'last_name': 'Daro',
          'phone_number': '805-910-9198',
          'street': '13950 NW Passage',
          'street2': '#208',
          'city': 'Marina del Rey',
          'state': 'CA',
          'zipcode': '90292',
          'photo': 'test_image.png',
          'how_did_you_hear': 0,
          #Dog data
          'pets': [
              {
                  'dog_photo': "dog.png",
                  'name': 'Genghis Khan',
                  'breed': 'Shih Tzu',
                  'age': 'Puppy',
                  'size': 'Small',
              },
              {
                  'dog_photo': "dog2.png",
                  'name': 'Archibald',
                  'breed': 'Great Dane',
                  'age': 'Adult',
                  'size': 'Extra Large',
              },
          ]
      }
  
      resp = self.client.post('/profile/registration', data=json.dumps(data))
      self.assertEqual(resp.status_code, 200)
  </code></pre>
  
  <p>and my endpoint class looks like this: </p>
  
  <pre><code>nested_fields = {
      'dog_photo': fields.String,
      'name': fields.String,
      'breed': fields.String,
      'age': fields.String, 
      'size': fields.String, 
  }
  
  profile_fields = {
      # 'user_email':fields.String,
      'token': fields.String,
      'registration_type': fields.String,
      'first_name': fields.String,
      'last_name': fields.String,
      'phone_number': fields.String,
      'street': fields.String,
      'street2': fields.String,
      'city': fields.String,
      'state': fields.String,
      'zipcode': fields.Integer,
      'photo': fields.String,
      'how_did_you_hear': fields.String,
      #Dog data
      'pets': fields.Nested(nested_fields)
  
  }
  class GuestProfile(Resource):
      @marshal_with(profile_fields)
      def post(self):
          # User data
          parser = reqparse.RequestParser()
          parser.add_argument('registration_type', type=str)
          parser.add_argument('first_name', type=str, required=True, help="First Name cannot be blank.")
          parser.add_argument('last_name', type=str, required=True, help="Last Name cannot be blank.")
          parser.add_argument('phone_number', type=str, required=True, help="Phone Number cannot be blank.")
          parser.add_argument('street', type=str, required=True, help="Street cannot be blank.")
          parser.add_argument('street2', type=str)
          parser.add_argument('city', type=str, required=True, help="City cannot be blank.")
          parser.add_argument('state', type=str, required=True, help="State cannot be blank.")
          parser.add_argument('zipcode', type=str, required=True, help="Zipcode cannot be blank.")
          parser.add_argument('photo', type=str, required=True, help="Please select a photo.")
          parser.add_argument('how_did_you_hear', type=str, required=True, help="How did you hear about us cannot be "
                                                                                "blank.")
          parser.add_argument('pets', type=str)
          kwargs = parser.parse_args()
          print kwargs, "KWWW" 
  </code></pre>
  
  <p>kwargs['pet'] always comes in as <code>None</code>. Anyone have any ideas? </p>