Делаю rest сервис. Задача передать Json массив и сохранить его в базе.
На данный момент так:
MessageController
//Add one message
@RequestMapping(
value = "/api/message",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> addMessage(@RequestBody Message newMessage) {
return new ResponseEntity<>(messageRepository.save(newMessage), HttpStatus.CREATED);
}
//Add array of messages
@RequestMapping(
value = "api/messages",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> addMessages(@RequestBody List<Message> newMessages) {
return new ResponseEntity<Object>(messageRepository.save(newMessages), HttpStatus.CREATED);
}
Сохраняется и один элемент и Json массив. Далее хочу ввести слой сервиса.
public interface MessageService {
Message save(Message message);
Message saveArray(List<Message> messages);
@Service
public class MessageServiceImp implements MessageService{
private MessageRepository messageRepository;
@Override
public Message save(Message message) {
return messageRepository.save(message);
}
@Override
public Message saveArray(List<Message> messages) {
return messageRepository.save(messages); //а тут я уже запутался
}
Почему напрямую в контроллере метод save перебирает массив, а тут получается вроде нет? Как это должно выглядеть?
Добавлено:
@Entity
@Table(name = "message")
public class Message {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private long id;
@Column(name = "MESSAGE")
private String message;
@Column(name = "AUTHOR")
private String author;
@Column(name = "CREATED")
@Temporal(TemporalType.DATE)
private Date created = new Date();
public Message() {
}
public Message(Long id, String message, String author, Date created) {
this.id = id;
this.message = message;
this.author = author;
this.created = created;
}
+ getters / setters
Правильный ответ.
MessageServiceImp.java
@Override
public List<Message> saveArray(List<Message> messages) {
return messageRepository.save(messages);
}
MessageController.java
//Add array of messages
@RequestMapping(
value = "api/messages",
method = RequestMethod.POST,
consumes = MediaType.APPLICATION_JSON_VALUE,
produces = MediaType.APPLICATION_JSON_VALUE)
public ResponseEntity<?> addMessages(@RequestBody List<Message> messages) {
return new ResponseEntity<Object>(messageService.saveArray(messages), HttpStatus.CREATED);
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Создал вот такой Ajax запросЗапрос отправляется на Сервлет
Имеется 10 listviewДля каждого есть свой кастомный адаптер
Проблема заключается в том, что мне необходимо вызвать метод onActivityResult для MainActivityВ этой активности, я перехожу сначала в активность "Поиск",...