<aside> 🐳 도커 데이터 초기화 → docker-compose down -v
도커 다시 키기 → docker-compose up 하면 도커 상태 다 보면서 시작 → docker-compose -d 하면 데몬? 상태 안보고 올라감 도커 상태확인
→ docker ps
</aside>
‘userName’ = $this→patch(’name’);
함수의 매개변수에서 $userName 삭제
$req_param = [ // 유저 이름을 routes 에서 전달한 부분인 users/findUserNo/$1 부분 중 숫자로 지정
'userNo' => $userNo,
'userName' => $this->patch('name'), // 패치로 받아서 바로 할당하기
];
routes.php에서 patch의 매개변수 삭제
→ BAD_REQUEST 에러 메시지 뜸!
userName을 안넣어줬기 때문에
postman에서 json으로 데이터 넣기
이 API의 핵심은 PUT도 있음
PATCH은 들어온 데이터만 업데이트 PUT은 들어온 데이터만 빼고 다 없애버림(PUT은 전체를 다 보내야함)
RESTful은 path 파라미터를 많이 씀
route에서 post 함수로 갈 path 지정하기
$route['users']['POST'] = 'users/createUser'; // 유저 생성
createUser_post 함수 만들기
public function createUser_post()
{
$this->data_validation->clear();
$req_param = [
'userName' => $this->post('name'),
];
// 필수 항목
$this->data_validation->set_rules('userName','','trim|xss_clean|required');
try
{
// 요청 파라미터 검증
$req_param = $this->data_validation->validate( $req_param );
// 초기값 세팅
$data = NULL;
$userNo = $this->Model_users->insert_user($req_param); // insert_user 함수가 생성한 유저의 고유번호 리턴함 (고유 번호는 생성 순서대로 매겨짐)
$response = [
'code' => SUCCESS,
'message' => 'SUCCESS',
'response' => ['userNo' => $userNo],
'request' => $req_param,
];
}
catch( Validation_Exception $e )
{
// 요청 파라미터 에러
$response['code'] = BAD_REQUEST;
$response['message'] = 'BAD_REQUEST';
$response['request'] = $req_param;
log_message( 'exception', sprintf( '[%s] Validation_Exception=[%s]', __METHOD__, $e->getMessage() ) );
}
catch( Db_exception $e )
{
// DB 오류
$response['code'] = INTERNAL_SERVER_ERROR;
$response['message'] = 'INTERNAL_SERVER_ERROR';
$response['request'] = $req_param;
log_message( 'exception', sprintf( '[%s] Db_exception=[%s]', __METHOD__, $e->getMessage() ) );
}
catch( Application_exception $e )
{
$response['code'] = $e->getCode();
$response['message'] = $e->getMessage();
$response['request'] = $req_param;
log_message( 'exception', sprintf( '[%s] Application_exception=[%s]', __METHOD__, $e->getMessage() ) );
} # 에러들은 try catch 로 거르고
$this->dataResponse( $response ); # 데이터를 json 으로 떨굼
}
route 생성
$route['users/(:num)']['DELETE'] = 'users/deleteUser/$1'; // 유저 삭제