Question: I searched, but I didn't find an answer. I have a RESTful API to manage a basic CRUD. I'm trying to create an update method using PUT, but I can't retrieve the params values. I'm using [Postman](https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm) to make the requests, my request looks like:

**URL**

```
http://localhost/api/update/987654321

```

**Params**

```
id = 987654321
name = John Smith
age = 35

```

**PHP**

```
$app = new Slim();
$app->put('/update/:id', function( $id ) use( $app ){
    var_dump([
        'id' => $id,
        'name' => $app->request->put('name'),
        'age' => $app->request->put('age')
    ]);
});

```

My `var_dump()` result is:

```
array(3) {
  ["id"]=>
  string(9) "987654321"
  ["name"]=>
  NULL
  ["age"]=>
  NULL
}

```

What is wrong? Any idea?

Answer: 
I had the same problem. Firstly, I was sending PUT data with the Postman option to encode it as "form-data", that's why Slim wasn't getting the param values.

As it is explained in [W3](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2), the content type "multipart/form-data" should be used for submitting forms that contain files, non-ASCII data, and binary data.

In our case, we have to send PUT data with the Postman option "x-www-form-urlencoded" (see explanation of "[application/x-www-form-urlencoded](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1)" in W3).

![Screenshot of the right Postman option selected](https://i.stack.imgur.com/wHzuC.png)
`$app->request->put()` is returning a null value...

so u can use try `$app->request->params` instead