Im Folgenden meine routetRestlet Pfad param funktioniert nicht
public Restlet createInboundRoot(){
Router router = new Router(getContext());
router.attach("account/profile",UserProfile.class);
Folgende ist die Ressourcenklasse UserProfile.java
@post
@path("add")
public void addUser(User user){
@post
@path("modify")
public void modifyUser(User user){
@post
public void test(){//only this is called
Ich möchte eine Ressourcenklasse aufzurufen und zu tun paar identische Funktionen für ein Ressourcenklasse. Das bedeutet, dass meine obige Ressourcenklasse Funktionen behandelt, die mit den Benutzerprofilen wie Hinzufügen, Ändern zusammenhängen. URL ist:
Konto/profile/add => einen Benutzer
Konto/Profil hinzufügen/ändern => einen Benutzer
sowieso zu ändern, über meiner Implementierung nicht nur den Test nicht funktioniert() -Methode kann über Account/Profil/
aufgerufen werden Ich versuchte mit Pathparams als auch. Aber es hat auch nicht funktioniert. Für Weg params:
router.attach("account/profile/{action}",UserProfile.class);
hinzugefügt wurde und in der Ressourcenklasse,
@post
@path("{action}")
public void addUser(@pathparam("action") String action, User user){
mir jemand sagen, wo mein Problem ist.
Können Sie Ihre err Log hier posten? –
Dank Karthi für Aufmerksamkeit. Es werden keine Fehler ausgelöst. Der Server gibt 403 als Antwort zurück –
Nun! Das bedeutet, dass die Ressource, auf die Sie zugreifen möchten, vorhanden ist, der Server jedoch keine angemessene Antwort geben kann. Sie können diese Dinge versuchen, stellen Sie sicher, dass Ihr Verzeichnis alle Berechtigungen hat, und geben Sie einen Produktionstyp an, entweder json oder XML, indem Sie @ Produces annotation verwenden und versuchen Sie es mit @put oder @ get-Methoden. Manchmal ist Post ein Täter. –