Open hjvfyfyfy opened 5 years ago
https://github.com/Cha0z/springBootHomeWork/blob/aa67418b3f06ca20557397d165b4a4b56e158588/src/main/java/com/homework/home/models/ClothesSex.java#L3 ClothesSex має бути в окремому пакеті + зазвичай пишуть ClothesSexEnum щоб явно дати зрозуміти що то Enum
Float volume; зазвичай використовують Double, оскільки ти використовуєш не примітиви економія памяті виходить мізерна
Назви в моделях зазвичай в однині, крім деяких рідких випадків. Аналогічно і назви класів, крім enums. Знаєш чому?
при сейві завжди вертай збережений обєкт Shop save(Shop shop); інколи буває тре отримати id нового обєкта
Гарна практика засовувати такі класи в саб-пакет (impl)
чому package com.homework.home.web.controller а не package com.homework.home.controller ?
тут треба додати @RequestMapping("/shop/") таким чином ти розмежовуєш відповідальність між контролеерами
завжди вертай щось в таких методах, треба завжти валідувати реквести
коли ти пишеш @GetMapping це вже значить що ти чочеш отримати обєкт. Мало б бути щось типу @GetMapping("/{name}"). Анкалогічно @PutMapping("/add") і @DeleteMapping("/delete")
Але тут є і інша проблема в тебе респонсе List. Коли пишуть @GetMapping("/{name}") мається на увазі що "name" це id і повернеться тільки один обєкт. А в тебе виходить що то параметрер пошуку і це сильно руйнує логіку. Наприклад часто можна побачити url щось типу /shop/testshop/department/A --- тобто тобі треба вернути відділ A в магазині testshop, а як в твому випадку виглядавби цей запит ?
в тебе посуті name не id і manufacturer не id, але один параметре ти передааєш через RequestParam а інший через PathVariable чому ?
не пиши так, ти апсолютно не контролюєш процес видалення обєкти, і навіщо тобі писати @RequestBody Shop shop якщо тобі потрібно тільки id для видалення.
######################## MAP ######################## https://github.com/Cha0z/springBootHomeWork/blob/4c9d4c7305a48d4dff477024e98f6d4a8b501951/src/main/java/com/homework/home/map/OwnMap.java#L6
я трохи інше мав на увазі, я хотів щоб ти реалізував HashMap для того щоб ти розібрався і зрозумів як вона пряцю в всіх деталях, а погано пояснив що то має бути, якщо мажеш перероби, реалізуй методи put, get, remove, containsKey, size, values. ти розібрався з іншими колекціями і з їх швидкодією?
стандартний метод put маєж іншу сігнатуру
на майбутнє : добавити дженерики
https://github.com/Cha0z/springBootHomeWork/blob/aa67418b3f06ca20557397d165b4a4b56e158588/src/main/resources/application.properties#L2
Має бути datasourсe