fix stock update API

feature-backend-add-springdocs
Masaharu.Kato 4 months ago
parent eed4102962
commit bbbb935178
  1. 3
      backend/src/main/java/com/example/todoapp/controller/StocksController.java
  2. 22
      backend/src/main/java/com/example/todoapp/dto/UpdateStockRequest.java
  3. 3
      backend/src/main/java/com/example/todoapp/service/StocksService.java

@ -3,6 +3,7 @@ package com.example.todoapp.controller;
import com.example.todoapp.dto.DeleteStockRequest;
import com.example.todoapp.dto.ResponseStockDTO;
import com.example.todoapp.dto.StockDTO;
import com.example.todoapp.dto.UpdateStockRequest;
import com.example.todoapp.model.Stocks;
import com.example.todoapp.service.StocksService;
import jakarta.validation.Valid;
@ -90,7 +91,7 @@ public class StocksController {
@PutMapping("/update")
public ResponseEntity<Map<String, Object>> updateStock(
Authentication authentication,
@Valid @RequestBody Stocks stockDetails) {
@Valid @RequestBody UpdateStockRequest stockDetails) {
stockService.updateStocks(authentication.getName(), stockDetails);

@ -0,0 +1,22 @@
package com.example.todoapp.dto;
import java.time.LocalDate;
import lombok.Data;
/**
* 在庫削除のリクエストオブジェクトDTO
* <p>
* このクラスはクライアントとサーバー間で在庫情報をやり取りするために使用されます
* エンティティとは異なり必要な情報のみを含み関連エンティティへの参照ではなくIDのみを保持します
* </p>
*/
@Data
public class UpdateStockRequest {
private Long stockId;
private int amount;
private int price;
private LocalDate buyDate;
private LocalDate lastUpdate;
private LocalDate expDate;
}

@ -1,5 +1,6 @@
package com.example.todoapp.service;
import com.example.todoapp.dto.UpdateStockRequest;
import com.example.todoapp.model.Stocks;
import com.example.todoapp.util.MessageUtils;
import com.example.todoapp.model.User;
@ -75,7 +76,7 @@ public class StocksService {
* @param stockDetails 編集内容(新しい情報)
* @return 編集された在庫エンティティ
*/
public Stocks updateStocks(String username, Stocks stockDetails) {
public Stocks updateStocks(String username, UpdateStockRequest stockDetails) {
Stocks stock = getStockById(username, stockDetails.getStockId());
stock.setAmount(stockDetails.getAmount());
stock.setPrice(stockDetails.getPrice());

Loading…
Cancel
Save