Я пытаюсь создать веб-сервисы при загрузке JAVA Spring с бэкэндом в качестве SQL Server 2012. Я следовал учебному руководству с этого веб-сайта https://www.callicoder.com/spring-boot-rest-api-tutorial-with-mysql-jpa-hibernate/.
Единственное изменение, которое я сделал, изменило приложение.свойства как
spring.datasource.url=jdbc:sqlserver://localhost;databaseName=SampleSpringDB
spring.datasource.username=sa
spring.datasource.password=sqlpassword
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto = create-drop
Tomcat не показывает никаких ошибок при запуске приложения.
При тестировании метода POST в Почтальоне я получаю ошибку в Почтальоне как
{
"timestamp": "2018-11-21T04:44:06.474+0000",
"status": 404,
"error": "Not Found",
"message": "No message available",
"path": "/api/notes/"
}
Код полностью скопирован с вышеупомянутого сайта.
Код для контроллера
@RestController
@RequestMapping(value="/api", produces="application/json")
public class NoteController {
@Autowired
NoteRepository noteRepository;
// Create Note
@PostMapping("/notes")
public Note createNote(@Valid @RequestBody Note note) {
return noteRepository.save(note);
}
// Get all notes
@GetMapping("/notes")
public List<Note> getAllNotes() {
return noteRepository.findAll();
}
// Get Single Note
@GetMapping("/notes/{id}")
public Note getNoteById(@PathVariable(value = "id") Long noteID) {
return noteRepository.findById(noteID).orElseThrow(() -> new ResourceNotFoundException("Note", "id", noteID));
}
// Update Note
@PutMapping("/notes/{id}")
public Note updateNote(@PathVariable(value = "id") Long noteID, @RequestBody Note noteDetails) {
Note note = noteRepository.findById(noteID)
.orElseThrow(() -> new ResourceNotFoundException("Note", "id", noteID));
note.setTitle(noteDetails.getTitle());
note.setContent(noteDetails.getContent());
Note updatedNote = noteRepository.save(note);
return (updatedNote);
}
// Delete Note
@DeleteMapping("/notes/{id}")
public ResponseEntity<?> deleteNote(@PathVariable(value = "id") Long noteID) {
Note note = noteRepository.findById(noteID)
.orElseThrow(() -> new ResourceNotFoundException("Note", "id", noteID));
noteRepository.delete(note);
return ResponseEntity.ok().build();
}
}
POSTMAN POST url
localhost: 8080 / api / notes / body params as {"title": "test", "content": "test"}