Tengo una pregunta que creo que debería ser bastante simple de responder, pero no puedo encontrar una solución en ningún lado.
Estoy consultando el sitio web de Uberchord para acordes de guitarra (documentación aquí )
Aquí está la URL que estoy consultando:
https://api.uberchord.com/v1/chords?nameLike=${variable}
Donde la variable se basa en lo que escribe el usuario.
El nameLike permite una coincidencia aproximada entre la entrada y la API (por ejemplo, la url para un acorde Fmaj7 es F_maj7). Esto funciona muy bien, pero devuelve múltiples respuestas. La primera respuesta siempre es la que quiero, así que intento limitar las respuestas a la primera que aparece. Hasta ahora, he intentado agregar un límite o un filtro superior a la URL sin éxito. Aquí es donde estoy seguro de que estoy haciendo algo incorrecto.
Para el límite, he intentado:
https://api.uberchord.com/v1/chords?nameLike=${fmaj7}?limit=1
y
https://api.uberchord.com/v1/chords?nameLike=${fmaj7}&limit=1
y para top he hecho los mismos dos pero simplemente reemplazando limit con top. El primero devuelve cero respuestas, mientras que el segundo devuelve todas las respuestas.
¿Algunas ideas?
No es literalmente "devolver múltiples respuestas". Solo está devolviendo una matriz. SIEMPRE devuelve una matriz, incluso si solo hay un elemento. Si solo desea el primer elemento de esa matriz, obtenga el primer elemento de la matriz, tal como lo haría con cualquier otra matriz. Después de hacer la decodificación JSON:
chord = response[0];