Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공
일반적으로 우리 회사에서는 프런트엔드 개발자에게 올바른 번역된 콘텐츠를 다시 전달하기 위해 모든 요청에 대해 쿼리 매개변수
lang
를 보내도록 지시합니다.예:
GET /api/blogs?lang=en
그러나 Laravel 유효성 검사는 이를 인식하지 못하고 항상 앱 로케일(또는 폴백 로케일)에 따라 유효성 검사 오류 메시지를 반환합니다.
따라서 모든 API 경로를 그룹화하고
lang
쿼리 매개변수를 기반으로 앱 로케일을 설정하는 경로 미들웨어를 만들었습니다.<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class ChangeLocale
{
/**
* Handle an incoming request.
*/
public function handle(Request $request, Closure $next): Response
{
$locale = $request->query('lang');
if ($locale) {
app()->setLocale($locale);
}
return $next($request);
}
}
그리고 경로 파일에서:
// routes/api.php
use App\Http\Middleware\ChangeLocale;
use Illuminate\Support\Facades\Route;
Route::middleware(ChangeLocale::class)->group(function (): void {
// ROUTES
});
이제 유효성 검사 메시지가 요청된 로케일로 표시됩니다. 쿼리 매개변수에 대한 처리가 마음에 들지 않으면 항상 헤더나 다른 것을 사용할 수 있습니다. 예를 들면 다음과 같습니다.
$locale = $request->header('Accept-Language');
읽어주셔서 감사합니다! 이 내용이 흥미로웠다면 ❤️, 🦄 을(를) 남기고 물론 공유하고 의견을 댓글로 달아주세요!
Lloyds는 파트너십에 사용할 수 있으며 새로운 프로젝트에 개방되어 있습니다. 우리에 대해 더 알고 싶다면 check us out .
또한 Facebook에서 우리를 팔로우하는 것을 잊지 마세요!
Reference
이 문제에 관하여(Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/lloyds-digital/laravel-serve-api-requests-with-translated-validation-rules-1c6o텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)