Conversation
|
нужно исключить папки, добавь в гитигнор(файл .gitignore https://www.atlassian.com/ru/git/tutorials/saving-changes/gitignore): build и .gradle |
|
|
||
| import static org.example.service.MainServiceImpl.shortLinksDomain; | ||
|
|
||
| @RestController |
There was a problem hiding this comment.
добавь @RequestMapping("/url"), чтобы адрес был не корневой, а семантически отделялся по модели данных, в нашем случае урл
|
|
||
|
|
||
| if(longLink == null || longLink.isBlank()) | ||
| return "Incorrect link"; |
There was a problem hiding this comment.
лучше выкидывать ошибку, сделай кастомную
в идеале почитай про @ControllerAdvice и подключи обработку, будет очень круто
| try { | ||
| return mainService.getLongLink(shortLinksDomain + shortCode); | ||
| } catch(UnknownShortLinkException e) { | ||
| return "There is no corresponding long link"; |
| return resultSet.getString("longLink"); | ||
|
|
||
| System.out.println("Ошибка: данная короткая ссылка не найдена"); | ||
| System.exit(0); |
There was a problem hiding this comment.
так не нужно делать, просто брось ошибку, что не найдено, лучше кастомную(свою, например назвать в стиле NotFoundUrlException, если сделаешь @ControllerAdvice, то можешь там её обрабатывать)
| return null; | ||
| } catch (SQLException e) { | ||
| e.printStackTrace(); | ||
| System.exit(0); |
| return resultSet.next(); | ||
| } catch (SQLException e) { | ||
| e.printStackTrace(); | ||
| System.exit(0); |
There was a problem hiding this comment.
аналогично комментам выше, лучше бросать ошибку
| return resultSet.next(); | ||
| } catch (SQLException e) { | ||
| e.printStackTrace(); | ||
| System.exit(0); |
| } | ||
|
|
||
| public void addPairOfLinks(String longLink, String shortCode) { | ||
| String sql = "INSERT INTO links(shortCode, longLink) VALUES ('" + shortCode + "', '" + longLink + "')"; |
There was a problem hiding this comment.
на каждый + в памяти создается новая строка, лучше используй String.format("Твой текст и нужно вставить тут %s и тут %s", строка1, строка2);
то есть для подстановки нужно написать строку с плейсхолдерами (%s) и вызвать такую функцию из String
| } | ||
|
|
||
| public boolean containsLongLink(String longLink) { | ||
| String sql = "SELECT * FROM links WHERE longLink = '" + longLink + "'"; |
There was a problem hiding this comment.
аналогично комменту выше, или можно в обоих случаях использовать PreparedStatement, в нем можно оставлять плейсхолдеры в виде: ? и уже сетать дальше, как в проекте-примере
|
нужно поправить по комментам и снова посмотрю |
No description provided.