Cómo apuntar al mismo recurso terminando en / usando Slim PHP – ApiRest


Si se requiere que los endpoint de la ApiRest terminados con / devuelven el mismo contenido sin la barra invertida.

En archivo middleware.php

// Define trailing slash middleware
$trailingSlashMiddleware = function (Slim\Http\Request $request, Slim\Http\Response $response, callable $next) {
    $uri = $request->getUri();
    $path = $uri->getPath();

    if ($path != '/' && substr($path, -1) == '/') {
        // redirect paths with a trailing slash
        // to their non-trailing counterpart
        $uri = $uri->withPath(substr($path, 0, -1));

        if ($request->getMethod() == 'GET') {
            return $response->withRedirect((string)$uri, 307);
        } else {
            return $next($request->withUri($uri), $response);
        }
    }

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

$app->add($trailingSlashMiddleware);

Anuncio publicitario

Publicado por Codelaby

Mobile DevDesigner

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: