NamnAPI.se
Varför?
Olika namnexempel är ofta förekommande i exempelvis programmeringslitteratur, men de stannar oftast som ett exempel fast än man så ofta behöver dem i olika sorters applikationer eller också annat som är "offline".
Inte allt för sällan när man exempelvis ska göra en databas så behöver man fylla den med exempelkunder för att testa, extremt tråkigt är det att sitta och komma på ett par dussin namn som man för in manuellt.
Eller så kanske man ska ha en reklamkampanj där man behöver massor namn, vore det inte bättre att plocka hem ett par slumpmässiga istället för att stjäla dem?
NamnAPI råder bot på båda dessa problemen.
I NamnAPIs databas så finns de 100 vanligaste tilltalsnamnen för både kvinnor och män, och dessutom de 100 vanligaste efternamnen. Totalt så finns det alltså 20 000 olika kombinationer.
Funktioner
Välj om du endast vill ha förnamn, efternamn eller båda.
Välj om du endast vill ha kvinnliga namn, manliga namn eller båda.
Välj om du vill hämta namnen i XML, eller JSON-format.
Upp till 20 000 olika kombinationer.
Fritt att använda till vad du vill, hämta hur många du vill.
Hur man använder NamnAPI
En URL till NamnAPI kan se ut på följande sätt: http://api.namnapi.se/v1/firstname/both/3/xml
NamnAPI kräver totalt fem parametrar för att returnera namn; api-version, namntyp, kön, antal och datattyp. I exemplet ovanför så hämtar vi alltså tre stycken förnamn, för båda könen med datatypen XML.
Tillåtna inparametrar
För api-version
I nuläget finns det bara en version, v1
För namntyp
firstname
surname
both
För kön
male
female
both
För antal
Ett värde mellan 1
och 4000
För datatyp
xml
json
Returnerad data
Den returnerade datan talar ganska mycket för sig själv, det finns bara tre typer att hålla koll på; "firstname", "surname" och "sex". Notera dock att om man väljer att få tillbaka datan i ett XML-format så är varje namn inkapslad i en <name>
-tagg
Övrigt
Notera att alla tecken måste skrivas med gemener. Just nu finns det också en maxgräns på 4000 namn som man får hämta samtidigt. Om du utav någon anledning skulle behöva fler så kontakta @olssonm på Twitter.
Om man skickar med en otillåten parameter så kommer http-svarskoden vara 400 (bad request) oavsett vad felet är.
Om man vill hämta både manliga och kvinnliga namn så kommer de inte nödvändigtvis vara jämnt fördelade.
Exempel
Exempel 1 (JSON)
Exempel-URL: http://api.namnapi.se/v1/both/both/30/json
Notera att för att kringgå säkerhets-spärren för "cross domain requests" som gäller för Javascript så används JSONP. Detta måste anges som datatyp när anropet görs - annars kommer du att mötas utav en säkerhetsvarning i webbläsaren. Som callback används helt enkelt "jsonp", annars får du ett formateringsfel i Chrome och Firefox.
För att parse:a resultatet med jQuery:
<script> var url = "http://api.namnapi.se/v1/both/both/30/json"; $.ajax({ type: 'GET', url: url, dataType: 'jsonp', success: function(data) { $.each(data.names, function(i,names){ var row = "<tr>" +"<td>"+names.firstname+"</td>" +"<td>"+names.surname+"</td>" +"<td>"+names.sex+"</td>" +"</tr>" $(row).appendTo(".table"); }); }, jsonp: 'jsonp' }); </script>
För att parse:a resultatet med PHP:
$data = "http://api.namnapi.se/v1/both/both/30/json"; $json = file_get_contents($data,0,null,null); $output = json_decode($json); foreach($output->names as $names){ echo "{$names->firstname}\n"; echo "{$names->surname}\n"; echo "{$names->sex}\n"; }
Exempel 2 (XML)
Exempel-URL: http://api.namnapi.se/v1/firstname/male/10/xml
För att parse:a resultatet med PHP (med SimpleXML, kräver PHP 5.0 eller nyare):
$data = "http://api.namnapi.se/v1/firstname/male/10/xml"; $xml = simplexml_load_file($data); foreach($xml->children() as $child) { echo $child->firstname."\n"; echo $child->sex."\n"; }
Kommer snart
Möjligheten att få helt unika namn.
Möjligheten att hämta slumpmässiga användarnamn, lösenord och e-postadresser.
Mer logiska parametrar, i stil med: ?gender=male&nametype=surname
.
Om
Den som har skapat NamnAPI är Marcus Olsson. För frågor - kontakta Marcus på Twitter, @olssonm.
Tekniker som är använda är PHP och MySQL. Byggt på Slim och för CSS:en står Twitter Bootstrap.
Tack till @antaru_, @andreaskrohn och @tobiassjosten för feedback och testning.
© 2011 Marcus Olsson. Byggd på en .
Kommentera
Frågor, synpunkter, förslag eller idéer? Speak your mind.
blog comments powered by Disqus