Я строю свой собственный отдых api в php для практики. Я могу оценить http-код, отправленный на мой api (post, put, delete, get). Но когда я отправляю свой ответ, я действительно печатаю json. Например, я создаю ответ в своем api, как это
public function actionTest() { $rtn=array("id":"3","name":"John"); print json_encode($rtn); }
Во всяком случае, я не манипулирую заголовками. Из чтения stackoverflow я понимаю, что я должен возвращать коды ответов HTTP, чтобы соответствовать моим результатам api. Как я могу построить свой api и вернуть коды ответов. Я просто не понимаю, как я могу это сделать, потому что сейчас я просто распечатываю json.
Я не спрашиваю, какие коды возвращаться. Я просто хочу знать, как вернуть коды в целом.
Вы можете пересмотреть свой код таким образом
public function actionTest() { try { // Here: everything went ok. So before returning JSON, you can setup HTTP status code too $rtn = array("id", "3", "name", "John"); http_response_code(200); print json_encode($rtn); } catch (SomeException $ex) { $rtn = array("id", "3", "error", "something wrong happened"); http_response_code(500); print json_encode($rtn); } }
В принципе, перед потоком вывода (данные JSON) вы можете установить код состояния HTTP http_response_code($code)
.
И о вашем дополнительном вопросе в комментарии, да, печать данных JSON является правильным способом.