Как исправить метод, не допускается исключение, которое я получаю по моему запросу PUT от angular 7 до API-интерфейса laravel - PullRequest
3 голосов
/ 26 сентября 2019

При выполнении запроса PUT от угловых 7 до API уровня 5,8, я получаю метод недопустимого исключения при проверке сети.Обновление выполняется, но также отображается ошибка.

Доступ к приложению можно получить по ссылке ниже.При редактировании и обновлении данных производителя, т. Е. Имени, я получаю ошибку при проверке сети

https://mincar -inventory.herokuapp.com /

ПроизводительКод файла TS

updateManufacturer(id: any, singleManufacturer: any){    this.carManufacturerService.updateManufacturer(id,singleManufacturer).subscribe(
       () => {
        this.toastr.success('Manufacturer Updated Successfully', 'Success', {timeOut: 5000});
        this.listAllManufacturers();
        this.updateManufacturerForm.reset();
        this.spinnerService.hide();
    });
  }

Служба производителя Код файла TS

updateManufacturer(id: any, singleManufacturer: any): Observable<any>{
    return this.http.put<any>(this.url + '/' + id, singleManufacturer).pipe(
      retry(1),
      catchError(this.handleError)
    );
  }

Маршрут Laravel Код файла

Route::group(['prefix'=>'v1','middleware' => 'cors'],function(){
    Route::apiResource('/manufacturer', 'Api\v1\ManufacturerController')
    ->only(['index','show','destroy','edit','update','store']);
    Route::apiResource('/car-model', 'Api\v1\CarModelController')
    ->only(['index','show','destroy','edit','update','store']);
    Route::apiResource('/inventory', 'Api\v1\InventoryController');
});

Функция обновления контроллера производителя

 public function update(Request $request, $id)
    {
        $manufacturer = Manufacturer::findOrFail( $id );
        $manufacturer->save($request->all());
        return Response()->json(["status"=>"success","message"=>"Manufacturer name updated successfully"]);
    }

Код CORS

public function handle($request, Closure $next)
    {
      header("Access-Control-Allow-Origin: *");
      // ALLOW OPTIONS METHOD
      $headers = [
          'Access-Control-Allow-Methods'=> 'POST, GET, OPTIONS, PUT, PATCH, DELETE',
          'Access-Control-Allow-Headers'=> 'Content-Type, X-Auth-Token, Origin'
      ];
      if($request->getMethod() == "OPTIONS") {
          // The client-side application can set only headers allowed in Access-Control-Allow-Headers
          return Response::make('OK', 200, $headers);
      }
      $response = $next($request);
      foreach($headers as $key => $value)
          $response->header($key, $value);
      return $response;
    }

Получение неожиданного исключения MethodNotAllowedHttpException, как мы видим на изображенииссылка приведена ниже

https://imgur.com/lSGjZqG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...