From f80c565b75eb0ba7db230dd172fb334fed65a9f5 Mon Sep 17 00:00:00 2001 From: Zach Date: Tue, 24 Aug 2021 13:45:41 -0400 Subject: [PATCH] added Tag class, repo, service and controller, tested and confirmed working in Postman --- src/main/java/com/example/demo/Tag.java | 40 +++++++++++++++++ .../java/com/example/demo/TagController.java | 41 ++++++++++++++++++ .../java/com/example/demo/TagRepository.java | 6 +++ .../java/com/example/demo/TagService.java | 39 +++++++++++++++++ target/classes/com/example/demo/Tag.class | Bin 0 -> 1106 bytes .../com/example/demo/TagController.class | Bin 0 -> 2987 bytes .../com/example/demo/TagRepository.class | Bin 0 -> 315 bytes .../classes/com/example/demo/TagService.class | Bin 0 -> 2913 bytes 8 files changed, 126 insertions(+) create mode 100644 src/main/java/com/example/demo/Tag.java create mode 100644 src/main/java/com/example/demo/TagController.java create mode 100644 src/main/java/com/example/demo/TagRepository.java create mode 100644 src/main/java/com/example/demo/TagService.java create mode 100644 target/classes/com/example/demo/Tag.class create mode 100644 target/classes/com/example/demo/TagController.class create mode 100644 target/classes/com/example/demo/TagRepository.class create mode 100644 target/classes/com/example/demo/TagService.class diff --git a/src/main/java/com/example/demo/Tag.java b/src/main/java/com/example/demo/Tag.java new file mode 100644 index 000000000..644408ffa --- /dev/null +++ b/src/main/java/com/example/demo/Tag.java @@ -0,0 +1,40 @@ +package com.example.demo; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; + +@Entity +public class Tag { + @Id + @GeneratedValue + Long id; + String name; + + public Tag() { + } + + public Tag(Long id, String name) { + this.id = id; + this.name = name; + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} + + + diff --git a/src/main/java/com/example/demo/TagController.java b/src/main/java/com/example/demo/TagController.java new file mode 100644 index 000000000..bcafe7c19 --- /dev/null +++ b/src/main/java/com/example/demo/TagController.java @@ -0,0 +1,41 @@ +package com.example.demo; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@RequestMapping("/tagController") +public class TagController { + + @Autowired + private TagService service; + + @GetMapping(value = "/read/{id}") + public ResponseEntity read(@PathVariable Long id){ + return new ResponseEntity<>(service.read(id), HttpStatus.OK); + } + + @GetMapping(value = "/read") + public ResponseEntity> readAll(){ + return new ResponseEntity<>(service.readAll(), HttpStatus.OK); + } + + @PostMapping(value = "/create") + public ResponseEntity create(@RequestBody Tag tag){ + return new ResponseEntity<>(service.create(tag), HttpStatus.CREATED); + } + + @PutMapping(value = "/update/{id}") + public ResponseEntity update(@PathVariable Long id, @RequestBody Tag tag){ + return new ResponseEntity<>(service.update(id, tag), HttpStatus.OK); + } + + @DeleteMapping(value = "/delete/{id}") + public ResponseEntity delete(@PathVariable Long id){ + return new ResponseEntity<>(service.delete(id), HttpStatus.OK); + } +} diff --git a/src/main/java/com/example/demo/TagRepository.java b/src/main/java/com/example/demo/TagRepository.java new file mode 100644 index 000000000..dd217c9f4 --- /dev/null +++ b/src/main/java/com/example/demo/TagRepository.java @@ -0,0 +1,6 @@ +package com.example.demo; + +import org.springframework.data.repository.CrudRepository; + +public interface TagRepository extends CrudRepository { +} diff --git a/src/main/java/com/example/demo/TagService.java b/src/main/java/com/example/demo/TagService.java new file mode 100644 index 000000000..5e8f9c8d4 --- /dev/null +++ b/src/main/java/com/example/demo/TagService.java @@ -0,0 +1,39 @@ +package com.example.demo; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +@Service +public class TagService { + @Autowired + private TagRepository repository; + + public Tag create(Tag tag){ return repository.save(tag); } + + public Tag read(Long id){ return repository.findById(id).get(); } + + public List readAll(){ + Iterable tagIterable = repository.findAll(); + List result = new ArrayList<>(); + tagIterable.forEach(result::add); + return result; + } + + public Tag update(Long id, Tag newTag){ + Tag tagInDatabase = read(id); + tagInDatabase.setName(newTag.getName()); + return repository.save(tagInDatabase); + } + + public Tag delete(Tag tag){ + repository.delete(tag); + return tag; + } + + public Tag delete(Long id){ + return delete(read(id)); + } +} diff --git a/target/classes/com/example/demo/Tag.class b/target/classes/com/example/demo/Tag.class new file mode 100644 index 0000000000000000000000000000000000000000..37a9206d3672b8b84735b45bd2a4fa944da9c88a GIT binary patch literal 1106 zcmZ{i&u-H|5XNVnI3Xc4Ax#6Nh5korK==T+qDlw>s#FT1RV0p^c$IDyuPbMR%3Fa% zg~Wje;Gq!TtgXfcbMVaWdghzo%KYkL?GkRDjpEhb#rcE|mRobr7jv!Bmf?9`X z@{v=S%Q!@6^H3XgG>e8RIgx# zqDMjgSlI&%s@>boyXKG|=1Fyr!lkxB& zolp_0I`%c^VOSBif`6z2+r;iEyny%n-${JM!lM=}ClZ3n2)d0`BMqW9En>$49YnCe zNB9zalLh*ZF3IaZzNFGzstpl>NEyjBq%RI8+Ogtx#9yq(^o&b+zo#+o7e!8~+ literal 0 HcmV?d00001 diff --git a/target/classes/com/example/demo/TagController.class b/target/classes/com/example/demo/TagController.class new file mode 100644 index 0000000000000000000000000000000000000000..acd0545caddd4ad7cb6fc3f7c7f4f6ea9f1dcd41 GIT binary patch literal 2987 zcmb_e?Q+{h6g}%NVWXtQ38AH=q$wqKTp|i-T51z;lQe}oAGOmk9e&C7)=`lqBd-!V z4DSRTCY^y99)O4Ha92_+m#%{Y{IFNM+I#M~=ia@mKVSa#2Y_XKlfwj7HGGkUjxTel z;%*jeSkEDW4LQ9h|2E~?efjj2{QFwN0}V9>t&*ny(cU@!8 z>@>pHWrmA&-w{@q?^}JVY4fV%xWW{c>+~6J*Ich-^n0G=be?!-mmj&_cSe(&PTzQ9 zwuI|FGt7a3QT2s;WO=+zu$hYGSYnkSSt#x^q}JRvkvUhh9KP*$o7~$o$s0qy=C(|G z-}Edwj}}wnz#{i^O6qH_BRto(xkqkN9yi+z2!>m>vYORCG`U#dPbf1 zdlVkupt!{|0!df|asKZJw6w*=f!p3SW$1!?L@C>_I*uuPkEl2Pz0-;^vhpgCSymE1 z;!UGzIqhM&H@Vm{dp*hxnWYa++b2>vLn>nYXtjT0n1405gFs$M^2*o_cTI6{k|}bj zNl#VVW+)ZTBKM>5cUQus_`BwV>VL^2ZC|aqGNu1NLrQ;&DHSFlv#Y2fv z*KrLE9YyTvcqG?uU|+`ywizy~uBVs+b>X`l_kjxWUQ++gu=kK~c`Q?TP3EaJ2H_4m9w9D`>@g}C$Us}G zZ&dd-))`iZ$prVJT8R+?;R=0wOwi{DX&`e;<9V88XnZRgsX%BpO*4Z=Mq_&M1=uh2 zkigr~CJ@XFJ?r5Hyn_ogqi+wqi*#VTi4^SzrhZ4_@#3#YmX48nj`Ry;ex~JNsHp&I zCfpuDks&VOJ%XI2-D#>28ZHNh?+278>D3(lu6zsD$2_jmJ5BQafF3Bh_z=l}NQH>V zDDo#nj-jb}To?)|AMprXE+||U2(^gCQ^I}YIkJjyXGerv!gYd-!YvWw(Dz3J-%Ip5 z4A+Rm{Wu8s20n?1)M-r8+Vn}drR&GYsRN!5n9POy2f|NB!V?B0r$oRhn+Q@6^ZIna zYk9!yX25GAK?`9TLUt>sR>hlYatkA5`p2rcHK21lmPyh{;IrWWPQW}*^D@mVgYBRH E1!b)j3jhEB literal 0 HcmV?d00001 diff --git a/target/classes/com/example/demo/TagRepository.class b/target/classes/com/example/demo/TagRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..a45b7d0baf1bd9d2796aba2cb256ac2a355596d2 GIT binary patch literal 315 zcmb7=O^U)m5QSflKk;WHbAUO51>!E^MsO7nbS_XPZ4*tpLzy_^)m(T04<)uPRK$&o z`h&-NA9Xq(jsS+}251Fn2k0oY7pbvaR-zSbwB{XC#@5hmxz=$RMotWE3rVe63FrFH z$%YaxnM4VemO~Q$gX&SIs{NeyiVl1I^nEF8xMg=>Px# literal 0 HcmV?d00001 diff --git a/target/classes/com/example/demo/TagService.class b/target/classes/com/example/demo/TagService.class new file mode 100644 index 0000000000000000000000000000000000000000..8f60f04aba096addafa498f52d05d62469c5b577 GIT binary patch literal 2913 zcma)8Yg5}s6g@J;0-^8@Z4#1_2Pqg5^_{e&v^Kp3!P|?>+b4b06~G|GxMWz+3p)zzF7gF^rpicpvjR zK2Yn21{ScW-j;MM8|cBD61+7`rBC`$#9f0bs|LDpPd)A{(NERc108ER)-@Qutb2hS zdj6hV@F*N-j(5&SGg}#%%Sw@OE*nbG)zqupNJh{Il`@4MbE7sZ6jw>e(<2U z23;X7I1Xc;e;*xG{9IVqkHuxtFswc zH?t|2r;Q}i7W6Tqy=!*W6=B0?E((W&Iz}m1 zGqHh(8b-6)%*5w-q~o!PFYu*_ukf{ok*IniP8WP%?5U)i_y*rHm5ZJi2B9zNarFfQ zd5A%j26|B*M8$-}rjDwKE!ZY5W75PEY@2XUGjSay^_b9bHp`X7cN%F|@4eC!S!M~H z&r)cQ2$p^zc1YQkbc$kS7XLv!7EaHm?N%1|Rt~mHr%uGdy}Ft-!lBl1o0;Y*`?MWc;5rtqERS+INIoab$2gR-8)}QQ}lk-=t}k)bxpE@$d4@ZStH$+2;Tg2w_>#j}K9w+FV4P1g7Qi{2=T5^b zn4pwWUgVnN+F$q`xtZta%Hc0`|H_jzN`Hhh7E2~5)S;UfiFS$7Cp2ypG^Z5B6!a~w z3VJAkK9R#d@)_uZDfFQh`Vg+*)i(MSB5`D6Izj&hUHk!)3jH~B4aGmu^XM6R@6OCV z+K2J*1^R&JFmsqy@pMJ34D&A(NUcFyhe_-u5~~=Rh`|!;24xGFp+S{~SzM*jYm`z9 z#CMAH`0h2Hz0SKF-r(7r{HGU(?{HPN#tSq1IJtUtb|3xw7*OtBJkoXt3sQbFa$zBO1Pg6@2_3mDj+n literal 0 HcmV?d00001