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?
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 archivoenvironment.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.