Web/PHP

[라라벨] POST방식 전달

_sparrow 2020. 3. 22. 15:53
반응형

# 라라벨을 사용 중 라우터를 활용한 RESTful API를 적용하기 위해 POST방식으로 전달을 연습

라라벨에서 POST방식 전달 시에는 토큰이 반드시 필요하다!

 

 

GET POST 방식에 대한 정보

라라벨을 프레임워크로 사용하면서 RESTfulAPI방식을 활용하기 위해서 GET, POST방식을 연습

 

GET은 보통 읽기위한 정보, 즉 자주 바뀌는 정보같이 게시판 글이나 댓글 같은 것들에 주로 활용하게 된다.

누군가에게 노출되어도 상관없기때문이다.

 

반면, POST는 주로 쓰기로 어떤 내용이 보이지 않아야 하고 숨겨져야만 하는 정보다.

글쓰기를 작성하기 위한 작성자 개인정보라던지 작성자가 알리지 않고 싶어 하는 정보들을 숨기는데 유용하게 쓸 수 있다

 

 

 

아무튼 라라벨에서 POST방식을 활용하기 위해서 POSTMAN을 활용하려고 했다.

 

POSTMAN을 통한 POST전달

419 Page Expired가 뜨는데

 

라라벨 환경에서는 CORS가 뜨게 되니까 반드시 버전에 맞는 CORS회피 코드를 넣어줘야 한다..

https://laravel.kr/docs/5.5/csrf

 

그렇기에 확인하기 위해 POSTMAN을 사용할 수 없었고 (방법을 알면 알려주십시오..)

 

제가 쓰는 버전은 5.5 버전이기에 아래의 문장을 넣어줬다.( 라라벨 홈페이지에서 버전에 맞게 확인해주세요) 

 

index페이지

//index.php

<form action="/info" method="POST">
//라라벨 5.5 버전에서는 CORS을 회피하기위해 아래의 코드를 작성해야한다.
    {{ csrf_field() }}
    <input type="text" name="email" placeholder="이메일">
    <input type="text" name="name" placeholder="이름">
    <input type="text" name="sns_type" placeholder="sns">
    <input type="submit">

 

POST값 확인 페이지

// 라우터 routes/ web.php
Route::post('info','userController@aa');

// userController 내부의 aa 함수

   public function aa(){
   //request()-> all은 모든 요청받은 값을 출력하는 코드이다.
        return request()->all();
    }
    
    

 

 

위의 index.php 전달 form이다.

 

 

 

info페이지에서 POST전달받는것을 볼수있다.

 

혼잣말

공식 홈페이지를 공부하면서 라라벨을 썼지만 쓸데없는 시간을 너무 많이 낭비한 것 같다.

Csrf에 대해서 자세히 봤으면 더 빠르게 할 수 있었을 텐데 아쉽다.

반응형