# Slim 3 PUT/PATCH

**URL:** <https://discourse.slimframework.com/t/slim-3-put-patch/2678>\
**Category:** Questions\
**Created:** [September 19, 2018, 5:43pm UTC](https://discourse.slimframework.com/t/slim-3-put-patch/2678 "2018-09-19T17:43:54Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alessandro](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@Alessandro](https://discourse.slimframework.com/u/Alessandro)\
**Post date:** [September 19, 2018, 5:43pm UTC](https://discourse.slimframework.com/t/slim-3-put-patch/2678/1 "2018-09-19T17:43:54Z")

</div>

How I can use getBodyParsed() with put or Patch mathod?  
When I do  
bodyParams=$request-\>getParsedBody();  
return $response-\>write(json\_encode($bodyParams));  
it returns null with PATCH or PUT.

---

<div class="post-metadata">

**Author:** ![odan](https://avatars.discourse-cdn.com/v4/letter/o/9de053/32.png) [@odan](https://discourse.slimframework.com/u/odan)\
**Post date:** [September 19, 2018, 8:00pm UTC](https://discourse.slimframework.com/t/slim-3-put-patch/2678/2 "2018-09-19T20:00:08Z")

</div>

As far as I know the Slim `$request->getParsedBody()` method is only for the http `POST` method and not for PUT/PATCH methods.

More details: [https://github.com/slimphp/Slim/issues/1396](https://github.com/slimphp/Slim/issues/1396)

But you could implement your own PUT/PATCH middleware:

```php
$app->add(function ($request, $response, $next) {
    if($request->isPatch() || $request->isPut()) {
        parse_str($request->getBody()->__toString(), $data);
        $request = $request->withParsedBody($data);
    }

    return $next($request, $response);
});

```
