Ich wollte meine vorhandene Rest-API erweitern oder anpassen. In meinem Rest ruft der Service den Handler auf, der Geschäftslogik enthalten soll (als Produkt), und ich brauche eine Möglichkeit, diese zu erweitern oder anzupassen (pro Client-Anpassung). Bitte geben Sie an, wie Sie dies tun können. Attached ist ein einfaches Hallo Welt-Setup, das ich habe, wäre es toll, es kann ein Haken in diesem 'DefaultGreetingsHandler.greetUser' angezeigt werden.Erweitern und Anpassen der vorhandenen REST-API
package com.myapi.greetings.rest;
import javax.inject.Inject;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import com.myapi.greetings.handler.GreetingsHandler;
import com.myapi.greetings.model.Greeting;
@Path("/greetings")
public class GreetingsService {
@Inject
GreetingsHandler handler;
@GET
@Path("/{name}")
public Response getCustomMessage(@PathParam("name") String name) {
String output = handler.greetUser(name);
return Response.status(200).entity(output).build();
}
}
brauche ich einen Haken in der Handler.greetUser der Lage sein, pro Client in Java
package com.myapi.greetings.handler;
import javax.inject.Inject;
import com.myapi.greetings.dao.GreetingsDao;
public class DefaultGreetingsHandler implements GreetingsHandler {
@Inject
GreetingsDao dao;
@Override
public String greetUser(String name) {
return dao.getGreeting() + name;
}
}
Sein ein einfaches Maven basiert Rest Projekt anpassen. Bitte beachten Sie den folgenden Link für die vollständige Setup-Zip-Datei.
https://1drv.ms/u/s!AulFHVWnSJeFaqIB0JHKzo95DbU
die Hilfe zu schätzen wissen.
Warum ist 'DefaultGreetingsHandler' keine Rest-Methode? –
Ich nehme an, das ist eine Schicht-Architektur, REST/Business-Logik/DAO. Auf diese Weise können Probleme der Geschäftslogik von REST-Anforderungen und Marshalling-Anforderungs-/Antwortobjekten getrennt werden. Ich bin jedoch verloren, was Ihre Frage ist, @Sudhi. –
@Sander Verhagen, was ich suche, ist in der Lage, die Basis-Implementierung der GreetUser anpassen (enthält Geschäftslogik), die Client-spezifisch sein wird. Die Basisimplementierung ist mein Hauptprodukt und hat ein Standardverhalten, jetzt sollte ich bei meinen verschiedenen Clients das Standardverhalten für ihre (kundenspezifischen) benutzerdefinierten Implementierungen ändern können, die sich in einer anderen Codebasis befinden. – Sudhi