やぎすけ Advent Calendar 2016 - Adventar
24日目です。遅れましたがやっていきましょう。
まず最初に必須パラメータのnameがあるかチェック、ない場合はエラーなjsonを返却。
やぎ小屋 | Ruby on RailsでつくってみるAPI(2日目)
とのことですが、エラーの場合はHTTP status codeもそれ相応のものを返してやったほうがいいと思うので、そうします。
この場合だと400が適当でしょうか。
List of HTTP status codes - Wikipedia
なので、このように書き替えます。
def search
if params[:name].blank?
render status: 400, json: [{"error": "100", "msg": "必須パラメーターがありません", "required": {"key": "name"}}]
else
@result = Character.where("name like ?", "%" + params[:name] + "%")
if @result.empty?
@result = Character.where("phonetic like ?", "%" + params[:name] + "%")
end
render json: @result
end
end
Return 400 if params is not present · unasuke/imas_api_rails@07185c5