микросервис работает, но данные не отображаются - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть простое приложение, которое должно подключаться к postgres и отображать содержимое одной из таблиц.

Я установил postgres, создал таблицу и вставил строку, но при ее запуске ничего не отображается.

Это мои application.properties

spring.datasource.url=jdbc:postgresql://localhost:5432/postgres
spring.datasource.username=name
spring.datasource.password=pass
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto = update
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true

и это интерфейс репозитория

@Repository
public interface TaxonRepository extends CrudRepository<Taxon, Long> {
}

и модель

@Entity
@Table(name = "dim_taxon")
public class Taxon{
  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Getter @Setter
  private Long id;
  @Getter @Setter
  private String name;
  @Getter @Setter
  private String value;
  @Getter @Setter
  private String reserve;
  @Getter @Setter
  private String source;
}

Мой сервис

@Service
public class TaxonService implements TaxonServiceI{
  @Autowired
  private TaxonRepository repository;

  @Override
  public List<Taxon> findAll() {
    return (List<Taxon>) repository.findAll();
  }
}

и контроллер

@Controller
public class TaxonController {
  @Autowired
  private TaxonServiceI taxonService;

  @RequestMapping(value="/showTaxons")
  public String homePage(Model model){
    List<Taxon> taxons = taxonService.findAll();
    model.addAttribute("taxons", taxons);
    return "index";
  }

}

Я попытался добавить объект вручную, чтобы проверить, не было ли проблем с html или smth

List<Taxon> taxons = new ArrayList<>();
Taxon taxon1 = new Taxon();
taxon1.setName("a");
taxon1.setReserve("a");
taxon1.setSource("a");
taxon1.setValue("a");
taxons.add(taxon1);
model.addAttribute("taxons", taxons);

но html в порядке. Похоже, это

List<Taxon> taxons = taxonService.findAll();

не работает. В чем здесь проблема? На самом деле ошибок нет.

Моя таблица и данные. enter image description here

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

В конце я добавил еще несколько аннотаций

@Data
@NoArgsConstructor
@AllArgsConstructor
@Validated
@Entity
@Table(name = "table name")

И явное отображение для столбцов

@Column(name = "column_name")

это помогло

0 голосов
/ 07 ноября 2018

Вы не добавляете загруженный List<Taxon> в модель.

@RequestMapping(value="/showTaxons")
public String homePage(Model model){
    List<Taxon> taxons = taxonService.findAll();
    return "index";
}

Просто возвращает страницу для рендеринга без изменения модели. Так что это должно работать

@RequestMapping(value="/showTaxons")
public String homePage(Model model){
    model.add(taxonService.findAll());
    return "index";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...