Anzeige

 Restful Lib Dokumentieren

#1
Hallo,
ich entwickle gerade etwas mit Restful.
Dabei habe ich vor mich Streng an die Regeln zu halte.
Heißt:
Ich nutze GET, PUT,POST,DELTE . --> Macht die Sache erstmal undurchsichtig, wenn man von außen auf solch einen API schaurt.
Deshalb würde ich diese API auch gerne Dokumentieren.
Leider bietet Restful anscheinden keine Möglichkeit die "Rest"-Klassen/Methoden zu dokumentieren.
Könnt ihr mich aufklären?
Dokumentiert ihr eure Restful APIs nur von Hand oder nutzt ihr Tools die, die Kommentare der Klassen und Methoden erkennen und den Aufbau der Benötigten Anfrage z.B.: bei POST mit variabeln Dokumentieren.
Ein Beispiel :

URL Anfrage : http://url.de/restapi/mitarbeiter

Dokumentation:
GET: mitarbeiter/{id} --> Liefert die den Mitarbeiter mit der ensprechenden ID zurueck wenn # werden alle zureuckgeliefert

PUT: mitarbeiter --> Legt einen neuen Mitarbeiter an oder updatet ihn (Wenn ID mit übergeben wird).
Parameter: id, name, alter, tel

So in der Art meinte ich das...

Gibt es da etwas das mir sowas anfertigt. Like Javadoc nur für Restful
 
#3
So habe mir jetzt mal vorrübergehend mit folgendem Code beholfen...

Java:
private void outPutInfos(Class<?> c){
Resource resource = Resource.from(c);
if (resource != null){
out("");
out("------------------------------------------------------Class: "+resource.getName()+"------------------------------------------------------");
outPutInfos("/rest",resource);
out("-----------------------------------------------------------------------------------------------------------------------------------------");
out("");
}else{
out("Can´t find restful Resource from "+ c);
}
}
String result = "";
private void out(String text){
System.out.println(text);
result +=text +"\r\n";
}
private void outPutInfos(String parentpath, Resource r){
out(parentpath+r.getPath()+":");
String path = r.getPath();
for (ResourceMethod one: r.getAllMethods()){
out("\t--------------------------------------------");
out("\tHTTP Method: "+one.getHttpMethod());
out("\tJava Method: "+Modifier.toString(one.getInvocable().getDefinitionMethod().getModifiers())+" "+one.getInvocable().getDefinitionMethod().getReturnType() +" "+ one.getInvocable().getDefinitionMethod().getName()+"");
for (Parameter oneparam : one.getInvocable().getParameters()){
if (oneparam.getSourceName() != null){
out("\tParameter:"+oneparam.getType()+" "+oneparam.getSourceName());
}else{
out("\tParameter:"+oneparam.getType());
}
}
if (one.getProducedTypes().size() != 0){
out("\tproduct Types: "+one.getProducedTypes());
}
if (one.getConsumedTypes().size()!= 0){
out("\tconsumed Types: "+one.getConsumedTypes());
}
out("\tManual Description:");
out("");
}
for (Resource one : r.getChildResources()){
outPutInfos(parentpath+r.getPath(),one);
}
}
gibt etwas aus das jede einzelne Funktion einer Jeden Übergebenen Restfulklasse schematisch beschreibt.
Leider fehlen die händischen Kommentare die Killt ja leider der Compiler...
 
Anzeige

Neue Beiträge

Anzeige