Как передать локальную дату в переменную пути в Spring Boot? - PullRequest
2 голосов
/ 24 февраля 2020

Я пишу службу REST.

Я хочу получить все записи по дате, которые я передаю в переменную @Path.

Как я могу это сделать?

Что я пытался сделать:

Класс модели:

@Entity
@Table(name = "test")
public class Test {
@Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int id;

    private String name;


    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private LocalDate beginDate;


    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
    private LocalDate endDate;


    private String activity;
}

Хранилище:

@Repository
public interface TestRepository  extends JpaRepository<Test, Integer> {

    List<Test> findAllByName(String name);

    List<Test> findAllByBeginDate(LocalDate date);
}

Служба:

@Service
public class TestService {

@Autowired
private final TestRepository testRepository;

public TestService(TestRepository testRepository) {
    this.testRepository = testRepository;
}

public List<Test> getAllTestsByBeginDate(LocalDate date) {
    return  testRepository.findAllByBeginDate(date);
   }
 }  

Контроллер:

@RestController
@RequestMapping("/api/v1/")
public class TestController {

    @GetMapping("test/all/{date}")
    public List<Test> getAllTestsByBeginDate(@PathVariable ("date") @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) {


    return testService.getAllTestsByBeginDate(date);
    }
  }

Когда я передаю такую ​​дату, я получаю ошибки:

Postman Get Method

1 Ответ

1 голос
/ 24 февраля 2020

Это должно работать

@RestController
@RequestMapping("/api/v1/")
public class TestController {

    @GetMapping("test/all/{date}")
    public List<Test> getAllTestsByBeginDate(@PathVariable @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) {


    return testService.getAllTestsByBeginDate(date);
    }
  }

или эта ссылка поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...