¿Cómo puedo devolver un 800, 404, etc error cuando un usuario hace un JSON/XML solicitud a mi API?

He intentado

error 404, {:error => "ERror".to_json }

sin éxito.

También, he tratado de poner un «respond_to» pero no funciona tan bien (se duplica la respond_to y da error).

Gracias

  • puedes mostrar algo de código, no entiendo a qué te refieres con el duplicado de la respond_to
  • Nunca he oído hablar de un código http 800 😉
InformationsquelleAutor donald | 2011-05-14

1 Comentario

  1. 66

    De la misma manera que el retorno de los errores en el html, es parte de la Cabecera HTTP.

    render json: @myobject, status: :unprocessable_entity

    Actualización, respuesta al comentario:

    Usted puede obtener todos los códigos de estado de la Rejilla. Rieles pasa el simbolizaba el estado de la cremallera de

    Rack::Utils.status_code(options[:status])

    que sólo coincide con el símbolo de la lista de estado (las cadenas se convierten en símbolos)
    Aquí está el fumar fresco lista: https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L575-L638

    Desplazarse un poco más abajo y verás el status_code método. Es divertido leer el código fuente!

    • Donde puedo conseguir una lista de todos los :estado? Gracias
    • +1 para el enlace a los estados.
    • La lista se ha ido al suelo a github.com/rack/rack/blob/master/lib/rack/utils.rb#L539
    • thx por ayudarme a mantenerla actualizada @alexcoco. editado
    • Usted no necesita llamar a to_json en el objeto que envía el río. render llamadas para usted. Así que en tu ejemplo, render :json => @myobject, :status => :unprocessable_entity debería ser suficiente. 🙂 También, aquí está la lista de códigos de estado: https://github.com/rack/rack/blob/master/lib/rack/utils.rb#L549-L608
    • bonito nit-picking @MT, he aceptado tanto:) también he cambiado a las nuevas sintaxis, abandonando hashrockets
    • jaja, que bueno!

Dejar respuesta

Please enter your comment!
Please enter your name here