es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

APIs de R plumber: ¿Cómo especifico los tipos de entrada?

Tengo una API de fontanero.

El comportamiento por defecto es convertir param1 en una cadena de texto, luego necesitaría usar as.numeric(x) en el cuerpo de la función. ¿Existe una forma de especificar el tipo de entrada de cada parámetro? Y si tengo 40 parámetros, ¿todos numéricos, hay alguna manera de especificar que todos sean numéricos?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, hay una manera de especificar el tipo de entrada de cada parámetro en una API de Plumber. Puede usar la anotación @param para especificar el nombre del parámetro, su tipo de datos y una descripción. Por ejemplo, si desea especificar param1 como entrada numérica, puede utilizar la siguiente anotación:

    #* @param param1 Parámetro de entrada numérico
    

    Esto indicará a los usuarios que se espera que param1 sea un valor de entrada numérico y le permitirá realizar operaciones numéricas directamente en el cuerpo de la función sin tener que convertirlas.

    Si tiene 40 parámetros que son todos numéricos, puede simplemente agregar una anotación @param para cada parámetro y especificar su tipo de datos como Parámetro de entrada numérico. Esto le ahorrará la molestia de tener que agregar as.numeric(x) para cada parámetro en el cuerpo de la función.

    #* Título de la API
    #* @param param1 Parámetro de entrada numérico
    #* @param param2 Parámetro de entrada numérico
    #* @param param3 Parámetro de entrada numérico
    #* ...
    #* @post /nombre_del_método
    function(param1, param2, param3, ...) {
      # realizar operaciones numéricas en los parámetros de entrada
    }
    

    Al especificar el tipo de entrada de cada parámetro, puede mejorar la usabilidad y precisión de su API de Plumber y hacer que sea más fácil para los usuarios entender qué valores de entrada se esperan.

Comments are closed.