Làm thế nào để xử lý Status Code trong rails

Trong thời điểm hiện tại, việc xây dựng một server API cũng không phải là điều gì xa lạ với chúng ta nữa. nó có rất nhiều lợi thế, nó có thể kết hợp với một framework front-end như ReactJS là đã xây dựng được 1 web site rồi, nó kết hợp cùng ngôn ngữ viết ứng dụng cho mobile như swift là đã có 1 app. giúp cho việc xây dựng một ứng dụng đa nền tảng một cách dễ dàng hơn. Nhưng hẳn là bạn cũng rất khó khăn trong việc sửa dụng các mã code status của respone sau một request. Mình cũng từng như vậy khi loay hoay trong việc xác định số cho respone nhưng sau mình có tham khảo được việc Rails cũng hỗ trợ symbol status code. Dùng thấy rất đơn giản, nhìn lại là mình có thể xác định ra ngay. Bạn có thể tham khảo bảng dưới đây nhé!

Status Code Status Message Symbol
1xx Informational
100 Continue :continue
101 Switching Protocols :switching_protocols
102 Processing :processing
2xx Success
200 OK :ok
201 Created :created
202 Accepted :accepted
203 Non-Authoritative Information :non_authoritative_information
204 No Content :no_content
205 Reset Content :reset_content
206 Partial Content :partial_content
207 Multi-Status :multi_status
226 IM Used :im_used
3xx Redirection
300 Multiple Choices :multiple_choices
301 Moved Permanently :moved_permanently
302 Found :found
303 See Other :see_other
304 Not Modified :not_modified
305 Use Proxy :use_proxy
307 Temporary Redirect :temporary_redirect
4xx Client Error
400 Bad Request :bad_request
401 Unauthorized :unauthorized
402 Payment Required :payment_required
403 Forbidden :forbidden
404 Not Found :not_found
405 Method Not Allowed :method_not_allowed
406 Not Acceptable :not_acceptable
407 Proxy Authentication Required :proxy_authentication_required
408 Request Timeout :request_timeout
409 Conflict :conflict
410 Gone :gone
411 Length Required :length_required
412 Precondition Failed :precondition_failed
413 Request Entity Too Large :request_entity_too_large
414 Request-URI Too Long :request_uri_too_long
415 Unsupported Media Type :unsupported_media_type
416 Requested Range Not Satisfiable :requested_range_not_satisfiable
417 Expectation Failed :expectation_failed
422 Unprocessable Entity :unprocessable_entity
423 Locked :locked
424 Failed Dependency :failed_dependency
426 Upgrade Required :upgrade_required
5xx Server Error
500 Internal Server Error :internal_server_error
501 Not Implemented :not_implemented
502 Bad Gateway :bad_gateway
503 Service Unavailable :service_unavailable
504 Gateway Timeout :gateway_timeout
505 HTTP Version Not Supported :http_version_not_supported
507 Insufficient Storage :insufficient_storage
510 Not Extended :not_extended

All Rights Reserved