Hallo zusammen
Ich habe ein Problem beim hinzufügen eines neuen Datenbankentrags, das dadurch entsteht, daß beim Versuch des Sendens eines JSON-Strings an den Controller scheitert, weil Tomcat an das Framework folgende Warnung zurückgibt:
Das Absenden habe ich mittels Chrome über das REST-Console Plugin durchgeführt. Folgendes habe ich beim POST mitgegeben:
Request URI: http://localhost:8080/BrainTrainer/person/add/
Content-Type: application/json
Payload:
(ID wird ja automatisch vergeben. Muß ich nicht mitsenden, oder?)
Sendeart: POST
Das ist die Methode, die sich um das adden einer neuen Person kümmert:
Durchführung der Persistenz:
Das sind die Teile, die sich im das Speichern kümmern sollen. Nur kommt es niemals dazu. Muß man da irgendwas am Tomcat Plugin manipulieren (per Maven eingebunden), oder ist das ein Problem der Konfigurations-XMLs im /webapp/ Ordner? Hab was gelesen von nem Servlet Mapping, daß man da was drehen muß, aber mir geht nicht auf, was genau zu tun ist...
Wer sich den Code ansehen will, kann sich das gesamte Projekt auf GitHub anschauen, da es öffentlich ist. Hier ist der Link zum Repo:
https://github.com/Semo/BrainTrainer
Danke für Eure Unterstützung.
Viele Grüße,
Semox
Ich habe ein Problem beim hinzufügen eines neuen Datenbankentrags, das dadurch entsteht, daß beim Versuch des Sendens eines JSON-Strings an den Controller scheitert, weil Tomcat an das Framework folgende Warnung zurückgibt:
Code:
WARN : org.springframework.web.servlet.PageNotFound - Request method 'POST' not supported
Das Absenden habe ich mittels Chrome über das REST-Console Plugin durchgeführt. Folgendes habe ich beim POST mitgegeben:
Request URI: http://localhost:8080/BrainTrainer/person/add/
Content-Type: application/json
Payload:
Code:
{
"gender": "Male",
"firstName": "Meinhard",
"lastname": "Nasenbär",
"birthDate": "3.9.1932",
"totalScore": 0,
"reactionTime": 0,
"visits": 0
}
(ID wird ja automatisch vergeben. Muß ich nicht mitsenden, oder?)
Sendeart: POST
Das ist die Methode, die sich um das adden einer neuen Person kümmert:
Java:
...
@Controller
@RequestMapping("/person/")
public class PersonController {
@RequestMapping(method = RequestMethod.POST, headers = "Content-Type = application/json", value = "/person/add/")
@ResponseBody
public Person addPerson(@RequestBody Person person){
logger.info("Person angelegt: " + person.toString());
personDao.addPerson(person);
return person;
}
...
}
Durchführung der Persistenz:
Java:
...
@Repository
@Transactional
public class PersonDao {
@Transactional
public void addPerson(Person person) {
entityManager.merge(person);
}
...
}
Das sind die Teile, die sich im das Speichern kümmern sollen. Nur kommt es niemals dazu. Muß man da irgendwas am Tomcat Plugin manipulieren (per Maven eingebunden), oder ist das ein Problem der Konfigurations-XMLs im /webapp/ Ordner? Hab was gelesen von nem Servlet Mapping, daß man da was drehen muß, aber mir geht nicht auf, was genau zu tun ist...
Wer sich den Code ansehen will, kann sich das gesamte Projekt auf GitHub anschauen, da es öffentlich ist. Hier ist der Link zum Repo:
https://github.com/Semo/BrainTrainer
Danke für Eure Unterstützung.
Viele Grüße,
Semox