es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

modo Solicitud de API 404 con paginación en modo de producción pero funciona en modo de desarrollo.

Utilizo una API de Laravel y un servicio de Angular para mi aplicación.
Estoy haciendo una paginación para mi matriz con Angular y hago una solicitud HTTP con esta función en mi servicio:

getPagination(page): Observable<any> {
return this.httpClient.get<any>(environment.apiBaseUrl + 'test/?page=' + page);
}

Cuando lo activo, obtengo los datos con la paginación, pero cuando quiero obtener otra página en producción, obtengo un error 404 porque utiliza una URL que ni siquiera doy.

Se supone que debo tener esta URL:

http://prodUrl/back/api/test?page=2

Pero obtengo esto:

http://prodUrl/api/test?page=2

Aquí está la función en la API de Laravel

public function getAll()
{
$stuff = MyStuff::orderByDesc('updated_at')->paginate(50);
return response()->json($stuff, 200);
}

La ruta:

Route::get('test', [Controller::class, 'getAll']);

Cuando hago una console.log() del environment.apiBaseUrl en la primera llamada para obtener la primera página, tengo la URL correcta y lo mismo para el contenido:

current_page: 1
first_page_url: "http://prodUrl/back/api/test?page=1"
from: 1
last_page: 3
last_page_url: "http://prodUrl/back/api/test?page=3"
links: (5) [{…}, {…}, {…}, {…}, {…}]
next_page_url: "http://prodUrl/back/api/test?page=2"
path: "http://prodUrl/back/api/test"
per_page: 50
prev_page_url: null
to: 50
total: 146

Entonces, ¿por qué la solicitud HTTP no lo usa?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema es causado por la variable environment.apiBaseUrl que no está configurada correctamente en el entorno de producción. Podría ser necesario revisar las configuraciones del entorno, como el archivo environment.prod.ts o las variables de entorno, para asegurarse de que se está utilizando la URL base correcta para el entorno de producción.

    Además, puede que valga la pena verificar la configuración del servidor web que aloja la API de Laravel para asegurarse de que se utilice la URL base correcta en la configuración de enrutamiento. La discrepancia en la URL del mensaje de error sugiere que el servidor web puede estar mal configurado, lo que hace que la solicitud falle.

    En general, es crucial asegurarse de que la URL base esté configurada correctamente para evitar problemas con la solicitud HTTP y asegurarse de que apunte a la ubicación correcta de la API en el entorno de producción.

Comments are closed.