Skip to content

👨🏻‍💻 Bloque de código

El bloque de código es un bloque versátil que se puede usar para escribir código en diferentes lenguajes. En este caso, lo usaremos para realizar solicitudes.

🏳️ Banderas

Las banderas son la forma de especificar los parámetros de nuestra solicitud y también el formato en el que queremos nuestra respuesta.

Bandera Valor predeterminado
url
method GET
body
headers
show ALL
format {}
req-id req-general
disabled
req-repeat 1t@1s
notify-if
save-to
properties
render false
res-type

url

Es la única bandera obligatoria. Especifica la URL de la solicitud. Se pueden utilizar variables definidas en el frontmatter.

```req 
url: https://jsonplaceholder.typicode.com/users/{{this.id}}
```

Donde {{this.id}} es una variable (id) definida en el frontmatter.

method

Especifica el método de solicitud. El valor predeterminado es GET y los valores disponibles son:

  • GET
  • POST
  • PUT
  • DELETE
```req 
url: https://jsonplaceholder.typicode.com/posts
method: post
```

body

Especifica el cuerpo de la solicitud. El valor predeterminado es un objeto vacío. Los datos deben estar en formato JSON con comillas dobles separando las claves y valores con dos puntos y espacio. Se pueden utilizar variables definidas en el frontmatter.

```req 
url: https://jsonplaceholder.typicode.com/posts
method: post
body: {"title": {{this.title}}, "body": "bar", "userId": 1}
```

Donde {{this.title}} es una variable (title) definida en el frontmatter.

headers

Especifica los encabezados de la solicitud. El valor predeterminado es un objeto vacío. Los datos deben estar en formato JSON con comillas dobles separando las claves y valores con dos puntos y espacio. Se pueden utilizar variables definidas en el frontmatter.

```req 
url: https://jsonplaceholder.typicode.com/posts
method: post
headers: {"Content-type": "application/json; charset=UTF-8"}
```

show

Especifica los datos de respuesta que se van a mostrar. Para acceder a objetos anidados, se utiliza una flecha derecha ->. El valor predeterminado es ALL.

```req
url: https://api.chess.com/pub/player/hikaru/stats
show: chess_daily -> last -> rating
```

Se pueden mostrar múltiples salidas separándolas con coma.

```req
url: https://api.chess.com/pub/player/hikaru/stats
show: chess_daily -> last -> rating, chess_daily -> best -> rating
format: <p>Último juego: {}</p> <strong>Mejor juego: {}</strong>
render
```

También es posible iterar sobre un arreglo usando {..}. El siguiente ejemplo muestra la ciudad de todos los usuarios.

```req 
url: https://jsonplaceholder.typicode.com/users
show: {..} -> address -> city
```

También es posible iterar sobre un número especificado de elementos del arreglo usando {n..n}.

```req 
url: https://jsonplaceholder.typicode.com/users
show: {0..2} -> address -> city
```

También es posible iterar sobre un rango especificado de índices del arreglo usando {n-n-n}.

```req 
url: https://jsonplaceholder.typicode.com/users
show: {0-2-1} -> address -> city
```

format

Especifica el formato en el que se debe mostrar la respuesta. El valor predeterminado es {}. Puede ser cualquier cadena (incluyendo markdown y html). Si se especifican más de una salida, se deben especificar más formatos, de lo contrario, se aplicará el mismo formato para todas las salidas.

```req 
url: https://jsonplaceholder.typicode.com/posts/1
show: title, body
format: <h1>{}</h1> <p>{}</p>
render
```

En este ejemplo, primero {} será reemplazado por el título, y segundo {} será reemplazado por el cuerpo.

req-id

Especifica el ID con la que se almacenará la solicitud. El valor predeterminado es req-general. Esto es útil cuando queremos almacenar la respuesta en localStorage y usarla en otros bloques o notas.

```req 
url: https://jsonplaceholder.typicode.com/users/1
show: name
req-id: name
```

Las respuestas almacenadas se pueden ver usando el req-id con la bandera disabled (que no activará una nueva solicitud).

```req 
url: https://jsonplaceholder.typicode.com/users/1
req-id: name
disabled
```

Las respuestas también se pueden ver usando dataview.

```dataview
dv.paragraph(localStorage.getItem("req-name"))
```

Es obligatorio usar req- antes de lo que sea que hayas definido en la bandera req-id.

Para eliminar respuestas de localStorage, ejecuta:

```dataview
localStorage.removeItem("req-name")
```

Para eliminar todas las respuestas, ve a configuraciones y haz clic en el botón Clear.

disabled

Deshabilita la solicitud. Si se especifica un req-id, APIR buscará la respuesta en localStorage. Si no se encuentra, realizará una nueva solicitud y la almacenará. Después de eso se usará la respuesta recién almacenada.

```req 
url: https://jsonplaceholder.typicode.com/users/1
show: name
req-id: name
disabled
```

req-repeat

Esto solo funciona con respuestas de tipo JSON

Especifica la cantidad de veces que se debe repetir la solicitud y el intervalo entre cada repetición. El valor predeterminado es 1@1 (leído como X veces cada X segundo(s)).

```req 
url: api.coincap.io/v2/rates/bitcoin
req-repeat: 5@5
render
```

notify-if

Esto solo funciona con respuestas de tipo JSON

Especifica la condición para activar una notificación. Puede usarse para monitorear un valor específico. La sintaxis de ruta utilizada para acceder a objetos anidados varía respecto a la bandera show, aquí se usan puntos en lugar de flechas y no se permiten espacios en la ruta.

```req 
url: api.coincap.io/v2/rates/bitcoin
req-repeat: 5@5
notify-if: data.rateUsd < 69889
render
```

En el ejemplo anterior, se activará una notificación cada vez que el valor de data.rateUsd sea menor que 69889.

save-to

Especifica la ruta para guardar la respuesta. Guardará toda la respuesta. Se requiere una extensión de archivo. No creará directorios.

```req 
url: https://jsonplaceholder.typicode.com/posts/1
save-to: posts/1.json
```

properties

Para usar esta bandera necesitas una respuesta de tipo JSON y la bandera show

Especifica las propiedades del frontmatter que se actualizarán con la respuesta. Los datos deben ser cadenas separadas por comas. Para establecer enlaces internos, usa la sintaxis [[..]].

```req 
url: https://jsonplaceholder.typicode.com/posts/1
show: id, title
properties: id, title
```

render

Si se especifica, la respuesta se renderizará. El valor predeterminado es false. Se puede usar para mostrar imágenes, tablas, etc. La respuesta se saneará antes de renderizarla.

```req 
url: https://jsonplaceholder.typicode.com/photos/1
show: url
format: ![img]({})
render
```

res-type

Espefica el tipo de respuesta. Si esta bandera no está presente, el plugin intentará adivinar el tipo basado en el tipo de contenido de la respuesta. Esto podría usarse como una característica opcional de respaldo.

```req 
url: https://jsonplaceholder.typicode.com/posts/1
res-type: json
```