Response eines RESTful-Service mit JSON

xrax

Aktives Mitglied
Hallo zusammen,

ich möchte folgendes in einem RESTful-Service mit JSON realisieren:
Ich frage mit einem Client wie folgt:

Code:
import javax.ws.rs.*

WebResource wrs = Client.create().resource( url );
System.out.println( "\nJSON-Ausgabe:" );
      System.out.println( wrs.accept( MediaType.APPLICATION_JSON  ).get( String.class ) );

Der Server soll dann mit dem Inhalt eines DB-Request antworten.

Ich bekomme es hin das mir der Server überhaupt antwortet:
Code:
import javax.ws.rs.core.MediaType;

@GET @Produces( MediaType.APPLICATION_JSON )
   public JsonObj halloHtml2(  )
   {
       JsonObj track = new JsonObj();
       track.setSinger("Metallica");
        track.setTitle("Enter Sandman");
        return track;
   }
Antwort:
JSON-Ausgabe:
{"title":"Enter Sandman","singer":"Metallica"}

Nur müßte ich dafür ja für jeden Anfragetyp eine Classe schreiben.

Wie mache ich dass, damit die Response auf die Clientanfrage aus einem ResultSet gebildet wird.
Oder, wie komme ich an das HttpServletResponse-Object ? Bei einem anderen Project habe ich das von einem Servlet bekommen , aber hier habe (bzw. sehe) ich kein Servlet.

Wenn keiner was weis würe ich mich auch über eine Literaturempfehlung freuen.

Besten Dank
xrax
 

mrBrown

Super-Moderator
Mitarbeiter
Hast du dir SpringBoot denn mal genauer angeguckt? Du müsstest halt deinen RESTful-Service neu mit SpringBoot als Framework umsetzten, lohnt sich also nur, wenn noch nicht zu viel steht.

Mit Hibernate im Hintergrund kannst du dein Problem recht schnell lösen, theoretisch reicht es da, einfach das Ergebnis der Abfrage zu returnen, und fertig.

Java:
@RequestMapping(value="/track/{id}",
                method=RequestMethod.GET,
                produces=MediaType.APPLICATION_JSON_VALUE)
@ResponseBody
   public Track getTrack(String id)
   {
    return trackRepository.get(id);
   }


Oder gehts dir nicht um Server-Seitigen Code, sondern den für'n Client? (da gäbe auch was passendes aus der Spring-Familie)
 
Zuletzt bearbeitet:

Andy17

Aktives Mitglied
Du kannst Dir schlicht und ergreifend einzelne EntityServices bauen, welche dir einen Zugriff auf die Ressource ermöglichen. Diese können über EntityManager und eigens gebaute BaseServices die Datenbank manipulieren. Und das auf sichere, zuverlässige Art und Weise. Wenn Du den Client das SQL schreiben lässt, dann kann ganz schnell ein Fall von SQL-Injection der unschönen Art und Weise auftreten.

Klar, du musst hierfür ein paar Klassen schreiben. Aber das ist in kürzerer Zeit getan, als es dauert, mit den Konsequenzen von SQL-Injection klarzukommen. Das solltest Du eventuell noch abwägen.
 

mrBrown

Super-Moderator
Mitarbeiter
Du kannst Dir schlicht und ergreifend einzelne EntityServices bauen, welche dir einen Zugriff auf die Ressource ermöglichen. Diese können über EntityManager und eigens gebaute BaseServices die Datenbank manipulieren. Und das auf sichere, zuverlässige Art und Weise. Wenn Du den Client das SQL schreiben lässt, dann kann ganz schnell ein Fall von SQL-Injection der unschönen Art und Weise auftreten.

Klar, du musst hierfür ein paar Klassen schreiben. Aber das ist in kürzerer Zeit getan, als es dauert, mit den Konsequenzen von SQL-Injection klarzukommen. Das solltest Du eventuell noch abwägen.
Meinst du mich oder den TE?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K Ende eines HTTP Response/Request Netzwerkprogrammierung 6
T HTTP Rest Anfrage mit JettyServer->415 "Unsupported Media Type" Response Netzwerkprogrammierung 0
M http request and response Netzwerkprogrammierung 0
D Response in Java Servlet erzeugen Netzwerkprogrammierung 0
H HTTP Header Response kann nicht ausgelesen werden Netzwerkprogrammierung 4
H PutMethod - Uhrzeit aus Response Netzwerkprogrammierung 6
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
N Servlet Response fehlerhaft Netzwerkprogrammierung 14
M HTTP-Response extrem fragmentiert Netzwerkprogrammierung 4
M HTTP response code: 401 ; ?aber im browser ist es abrufbar? Netzwerkprogrammierung 5
M HTTP Requests verarbeiten und Response senden mit Java Netzwerkprogrammierung 14
G HTTP Response mit Transfer-Encoding:chunked einlesen Netzwerkprogrammierung 4
flashfactor Frage zu HTML-Response Netzwerkprogrammierung 4
bummerland Google liefert HTTP response code 403 Netzwerkprogrammierung 2
M SocketError bei Aufruf eines SOAP-Servers Netzwerkprogrammierung 8
G seite nach posten eines html-forms laden Netzwerkprogrammierung 0
J Protokolle innerhalb eines Heimnetzwerks Netzwerkprogrammierung 6
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
N Name eines Attributes aus einem festen String und einer Variablen generieren Netzwerkprogrammierung 5
F Neuer Json aus teilen eines vorhandenen Json Netzwerkprogrammierung 0
N Client Identifikation eines Servers Netzwerkprogrammierung 1
R Problem beim Programmieren eines Chatprogramms Netzwerkprogrammierung 5
K Multiplayer eines Spiels Netzwerkprogrammierung 21
K Ansprechen eines Remote Druckers Netzwerkprogrammierung 2
L Erstellen eines Online Multiplayer Apps Netzwerkprogrammierung 10
eLogic Download eines Links Netzwerkprogrammierung 2
U Socket Abhören eines Sockets/Ports in extra Thread Netzwerkprogrammierung 8
2 Schliessen eines Serversockets Netzwerkprogrammierung 2
Hindi93 Abbruch eines Programmes abfangen Netzwerkprogrammierung 8
1 SSH-Kommunikation - Ende eines Streams nicht erkenntlich Netzwerkprogrammierung 2
C Alle Computer eines Netzwerkes finden Netzwerkprogrammierung 32
N Senden eines Arrays Netzwerkprogrammierung 6
U Name eines Netzlaufwerks ermitteln Netzwerkprogrammierung 5
L Body eines http Request auslesen Netzwerkprogrammierung 2
aze Tcp Verkehr eines Applets simulieren Netzwerkprogrammierung 10
J Socket Erreichbarkeit eines Java Servers (Socket-Lösung) über das Internet Netzwerkprogrammierung 3
M Socket Leistungsfähigkeit eines xSocketservers, wieviele Verbindungen max? Netzwerkprogrammierung 4
clupus Exception beim Schließen eines Sockets Netzwerkprogrammierung 6
cowabunga1984 Transferierte Datenmenge eines SOAP Clients (JAX-WS) anzeigen Netzwerkprogrammierung 2
K TrafficClass eines UDP Pakets kommt beim Empfänger nicht an Netzwerkprogrammierung 5
musiKk Problem bei bidirektionaler Nutzung eines Socket Netzwerkprogrammierung 2
J Machbarkeit eines Bluetooth-Servers? Netzwerkprogrammierung 2
S Realisierung eines Netzwerkcodes für ein Strategiespiel Netzwerkprogrammierung 7
K "Ende eines Sockets" Netzwerkprogrammierung 9
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
P problem beim schließen eines Streams Netzwerkprogrammierung 6
K Mit Java-MailAPI dir Verfügbarkeit eines SMTP-Servers prüfen Netzwerkprogrammierung 4
J while-Schleife / Abbruchbed. beim Einlesen eines Streams Netzwerkprogrammierung 4
U Ende eines Inputstreams ermitteln Netzwerkprogrammierung 3
J Länge eines Streams Netzwerkprogrammierung 4
T Timeout eines KSOAP-Calls Netzwerkprogrammierung 5
G Info eines Webseites kopieren Netzwerkprogrammierung 16
J Antwort eines Soaprequests parsen mittels org.apache.soap Netzwerkprogrammierung 2
E Möglichkeit zum Timeout eines Process Netzwerkprogrammierung 7
T Erstellung eines Proxy Netzwerkprogrammierung 11
T Pfad eines Servlets rausfinden Netzwerkprogrammierung 2
O Einbinden eines java-servers Netzwerkprogrammierung 9
C Übergabe eines Datensatzes (Übergabestruktur) Netzwerkprogrammierung 12
G Verzeichnis eines Rechners übers Netzwerk auslesen Netzwerkprogrammierung 5
B Problem mit der Ausgabe eines Strings an SocketOut Netzwerkprogrammierung 4
B RESTful API weiß nicht weiter Netzwerkprogrammierung 2
L HTTP Restful Webservice Respone mit Null Body Netzwerkprogrammierung 3

Ähnliche Java Themen


Oben