YAGNI
YAGNI – Wikipedia
You ain’t gonna need it
機能は実際に必要となるまでは追加しないのがよい
ソースコードは短い方が良い。→ 読みやすい・理解しやすい・バグが出にくい
とりあえずテストにパスするコードを書いて、あとのリファクタリングでソースコードを整理するというやり方でもよい。
KISSの原則
KISSの原則
Wikipedia の YAGNI のページに関連リンクがある。
Keep it simple stupid の略語。
ファイルアップロード
ファイルアップロードは、Springの公式サイトに書いてある実装がわかりやすい。
Getting Started · Uploading Files – Spring
ファイルを保存する処理は、Webページには書かれてなく、ZIPファイルをダウンロードした中の FileSystemStorageService クラス内にある。
Serviceクラスを作ってもいいが、必要な部分をコントローラにコピーしてもよい。
@RequestMapping(value = "アップロード先URL", method = RequestMethod.POST) public String handleFileUpload(@RequestParam("file") MultipartFile file, Model model) { // file を保存 String filename = StringUtils.cleanPath(file.getOriginalFilename()); try { if (file.isEmpty()) { throw new StorageException("空のファイルです " + filename); } if (filename.contains("..")) { // This is a security check throw new StorageException("ファイル名に「..」が含まれてます " + filename); } Files.copy(file.getInputStream(), Paths.get("保存先ファイル名"), StandardCopyOption.REPLACE_EXISTING); // 上書き } catch (IOException e) { throw new StorageException("Failed to store file " + filename, e); } return "uploadcomplete"; // 完了後に表示するjsp }