:'(
+服务器开小差啦!管理员正在修理中...
+还请阁下静候站点恢复~
+?QfbuOo1l#`i&1)QV*T_dW}heOG<4`dpRk3MzQGT~>j9@h z*^&gPX(?W@CpV!Bv9r!WLxdFuo<^dFp+ZR%nLi!B%s!w)F8mr32|u2{zNg0hUUJhB z^1zfbH2G}zk|!%5BDg(mXvtdb?K9ZVy3e?F9FdXY)l3EHy?w`|?ezT21!*t=fA{b= z@^uKTL)UnMCF$f~-ugoVJfD5vf6}r8a#=@Ob1gA}PpgG>5nB!Wq!Ala7=#{q7xj!@ zA(}?%r`j+KoxE?|t=9XTzdo* *Au7a_ILDxgIQc5eVu_x6uj! z%HSqN8p$tcfFcp@+nTAqcLAedK9_(Yvs7gxJt~7cc*xQvk$uC0D7nMc>BMw@72>5% z45;O>)+%VR^BBk=Sm2Z~8Th(?`A7vDHmUuxg^jI_;+Sm1kBm3GD;9XfAvs@ny+@CP z*wZmo7HN;0Dd0v3)IREn?<}?wVv7DLo%OK*Q{Cuk&ZUWsF0SCA;9^1NhX`c*xty+o zvbh5P#B!kGMe@ +p6|Llnmjr7lICxPiu~Xcn3lyu}BmjXDh4uoW9HY*=^T@0dvkwtE zGWq-bMUh72gwNby;NgKelZM&d3q^|A(k$Iz@c;fl3edI{VGq}PB7YC4P3jii%BE+# z{|+1zMHhFkNM0rZ#9=FK=A(n;{)@SGj`|j6@@ZT)^P>UYk}FgAK51^Sa#HJFhUwl5 zf1ydU_*xVntHRoa=|kih?cNqIQ_xF{0msbm8L{`L5b*&KF(f-F>Abgz^GiccS0d!4 z KHWkl5&w@}wYTW%zI+s$F_RNQ`K4DNw`3Q)yF?(Sn zNjkcbc~IEdf`VcuHdgEnSu=|)=6vlHEy)T>LXX4@`ZEqe$Ex%aGBO~azJgu~`-vmk zvJnc`^YoVbUUGXr(_Kj=ulv0IGTAUfxnOzAX1nKl_6~6(pNyxTg6>UtU15R)o}Py} z#LZ!2<*xm#)8_>;JhSfWTUr42nX+I26bX4b0%Kt(CtKDg{eTTKKIL<>4NTWTQDyoXdc^&2!;n><2cu+E5d|K4@jm< zbU%$NxMr~5{Yxf&KyY+X_V+VF91c`42|Rb00$x_`7A63M8uM0w$Bct^n#VpnED3k( zr)vnlO^@&tL`W}|U6V9+$oazvJ)g)FBD+ zE$M|qFb f735kvlpj2K!sW2w~?N65s^2JM`D1g99el z5HFwb0~%i09F99`%u8-Cq3C#%WQXf3`%T=?Ws5|izkRCV@f@X1f_HNl>v)2I-95xO zxsM>NZZ^i7lYaB=NU+%($;<|&YK)LZu6A`7m9JCf(j2Jpy-g=%nPg|vh?n;Tv4W7_ z=lq3zuo5HeX){w+_Stg%5*URW4RlP&Az_FpL@+Ie1|0P)tzxujozwH~L=yXE!Epfg zDvy9ijW?&uTtOP^c K$u zQ^s(ppiCM;vC!pGF?sJQ8xMKep0r|{PygvKRfRr W>x;lX-o?&1&N2(Sw^0Ti1LdWqct7m7^lQ zp`?k)i+oE)w7 I30ay=tA6`v_?Ozc7Qjto_^tsaO_ki zPnqD@wa}cexM`X~76A{+G0O#23R=aHb=>cAccQDR*NRg+0Q|67eWYl~?)tsQNEtSa z%F2M0ged>#G4UzTA#7*!3&XQn4e~|T5ggBL=^Yh_F*YO(Zu}d*f`vi3wxfctR~wVY z (23jo)%@aoF+ngrGmmZp)!b*Q2{reVULeQLvH0~WwWOXpA11f zr70)(yRN+V^ s~;uikQ@z0Q^#pMNk?HL+MilIcfj zEn?gBhTCe;o^5Ai4>z5Qgp9LhyBTOe0zE11NLO*FCj_653k5eB|D=XZL`OYt8zF~` zindR8)if=25Wmb5fvY=0Lhwte3=t!Sj28l?JciPUI4BUrmhkfj#YSXO#~FU>eWYle z&d%c}6qGbPY%bRPk0ny7Qx+y}&MmeMUS{6+wUXjR`$rYmvxPIsf3%p1g%#AA+ei2` zDc!z@)Pp?REesp52Mtyic?CWSR)WoLNSa;wM?WXvrF@X;L&v%re>Ch;zhcZ zF>$D>c{_)LsHy3N2}HK`M`kj{6}7D%%P$tK{J#1b`ssCvJCt>zv$6Vmc0Bx1N_HpB zA-L39EtdVIi03IbVADa}WCN!Wg<;w}m%L2NNa@)nx6B2HM=v^|(=a`97%{FGRohc) zg8|y@e59+vXXKr%)u`Ud7+p45E8Xp-p6L~!2g#$8H~O|TX=z@K@4BxMD+#)0uR0bQ ztoJaRy7Kq=@=#vFVU?_fbPfoJWyb7v^S+ZZ=;k@GZFRyDb36w3rlQ2L)Eu(RF~N$f zS1+sB5Vo<4;<2!ZC?D>y0~h!5ThE^A3Hi2@>iS Nhr&;iu2L|fT4&ntyAiq(H+)Z+BZrX!@Qtlc>S`TWyi1g34KF|m`90j00ti= z6@$Dl !b6fIkaMB7ih*JWImu`uHiX#i88;QKN=Sp zBiknMEWhl*YEZJo-T#L;IT{98|aX Im3V-bdP3FEVpg`{$VG932akc6LCUze-VBD_6hmk9k z*=@{Ql6d`o!e}cplt2PuKiJsa=u<$E%Ky=$|3`NGw`Tn>%EQ2|H&LirNNDKKJ65w0 zdIe;}$eUVG F#3;IOX0oSt&$m`7h* z(k^35dUo|M;<~VBXB;`UMU;Z) @uUI$L1e$?|4j(AgaNi z9NwMd$F=`jsZilNPS4M=h_{?58jtfc8?-{~vooI#Q9Hbd1PcqZ;YXsk$7ePuX>U1| z8F&!>FDCxOVE7kXQ{N2N9iz(=6a##q!-lZJ+F73Fi5TTF&_kst{|s%4iu#t+%}(Wh z)gRsD0_#y=Nhv0CX3b@^5(|~&X}+;)g}xvpbju0a5)X?(!y56d4uCcuEu*-}gkSD; zlar};KKKp$f?LpDB8o*tmdLkt)P;mTnh5mCc6EyBd$+7b*vor bC`(HB@7^Cqtj82bc zJ3E&$oz*)}{8@z4E<}3DJ-7T5kC}|f+w8N8+EO^}yvDPu#j5LsCqlv{dA&6W?%AOs zGL&(2N=y>zLZ~hCwm%uO?6N~;(nyQ|gqT;Wi!nDJA_9pME(`sn-f+xbK5J)UQbZ(L z@yV}Np-2- j7`Bv>I^w8;H_8TQ1>4pTVII =d_`EmUb$S 3bB;MX*36*>kyCnV}n9#q$p??*EO-SrtJ04<%9zj~G9UnCc z$^uTK7r2NN0-9~uKQdSlHQ6s+U51f!TM_G}5E80djHlmT C!^FAh7kj7EFB z7cy5ysOD(>*K-!%7t&X 8|-BT zUu@i)#@-wMP7ITlu|-AQYvN;xy1$xI{?;mLxj($yK^Kfmy|a9%_iyN^^2dKeM?99z z{4#J0X;%?fadC0~1p#SX9fhtIU!r$8+w_WNCScMcVSNpFUJ%x*^)&%~V)W2^{b-|V z4|7paBKSPDrB>7%RU}&6u)^)HZ6zv`*+Ox>`Tf$Uo}-1ihS$5;agu3;73vKhsv7FB z2^q4+9=@3CT*@IW-^8HnXjxLK&diaB;*M`Qe4dEyX8Cx#GB|Ci-19J0i dqsQ= zPt8Kd+5<*pBsbri2FedVp^@TU#xDn%_A9{F;o?{8$frzXIs6_fW9q2<@?QNHFH_7b z$MF+Zq%tlpF%xCX5QrhL `gbf{PLH?ei zK1{t60+dXr7djmtisSg|`8hsmmN*DEPLoY|*eX~okcSvmn{Q&$5dct95z`*40V|6V zwA=?oL>Q4;@SiAC(q h$4=2dr=ylK&fpi92`;?EDX(rad}M$>OPG@}6y2L12;^l{ zfqGL`-oeA(XCe-elHdCB2vDD9lBf+|wh{J*v5E!nheq0u3|3TDofg6Z!@w#&F#qX> z#=--E<)$SyMXdft7Ak6 xQ@<2edtNR{4uddAge`9) zmE_ev{L-#IWY(fdL4LZ^zeNnr599cs?yDd{wqO3uuj~X%&5p-;lf>wmOr{#R4?u7= z=~5<~2V2{5UF(n|-~Lox>Mjys ;l(AYEyVKQ|F4sPwpvNU29 zbDKn-a$S(Qr=@@@NL$;k;s`QQa;>+E&kT%|SdpwP4-v^khN2A+Ea~_HO_$e@^P=Bo zao44)uBUZ%uZ^5IBJy&~LknZ3n)VumRL%A!Dz(#bVu*k?hht8EM9BBva!p~`;Q{R* z^*3c$_8(yNzXcPP5eMpQ7RJHNeyxm*<3)XuhXZ6X#iF6cMRs9d@xX>Xf{;f<)MG~r zS70%0sjW!Fhxgqv0vejZ8`k> XkJTjx%4LFdodePo)EW z#*_(kRr5hY*~L@f)eY0rab+d(oIgzI$Db@c#8xxs OjX? z2Xe=oSV_ox0B7@a;03E$x7R*3Oe!ukogRfE)-<$It~M{1mGmg3jwesnH$&dQ*OWD% zyEm-zP7-(52fQ>9aB3|2SHRE^`jde^+*FoF9ubf*i2AaXc&m+?Nn<=+lkIC{@X+qF z;@@x~luG>fNlW0C^Zs3${G-fXFp NeP08 znP0S@dSgv}L-%vUO{)vlJ#1p`PJc7)0xnJ~`PSz2>W1#=?99~u8>+@*2mVvQyl|>m zD&lsqTI%EflrsC`U_UhN ?~gq9I&W;Fe6sJ$ z3Pi+0cu 52*E*O3^tu3o5g>Kc>Qdb~Sd<*TN0r zU(--hsVA5$o`(0P(5RDDu$K~}s>7S-cet3ydkU)m;03Ka5AT02LcpX!N@57s(Twzr zY@Sxrh;KMgFKW~Zjh6%!i8;zG<+0KvM2ef@ |Sl z8zC7Q{D_ro5W6Ac56 l$aw%*%;?wKB?HA#3bg}*YnesA1W#7@oMIDPD1PVt$dq~ z!;DM@`9JIol`)pE+b`A|Mh~~ddFV~GRx^2><6l8|V<7!?;zdB|ZC6lQ3ufdwj=}x? z&> h05T5^`!*W+7Ec43ov9deQ)1|NIFb{cI2cJ~bnw zknS6~wrOwivwL3%Uaz*D-!yI%#-gls^-)nzmaK8)ta(D|7ewHfTsj8$hoNe4=YoNz zuJUiJoyr$U2QGc4u3si0s3JU^4E$%MT+Xcs7E-8zl02-#aM z#%qTO&eEUXMQoL|QfW>GqWLo%OC?Z#K?n9OU6DsLti+dY^Yl}!I_5E$zj{8zawT9E zRN}AmQ15j9rL(+_#)ff9*n?w(Wxu?ZEd{XkluP^aPg^2TR;H^G?ftec2MzshCjlew zH2=Gmb#~vq`%CQc_a=CSQHciQ28K&RCRhnS(!d`%D-&Qjj3@!%*)d$LhR2=MA@=im zT-ayAT5JFq!$yvSk@l`Y7OZsU_#Z(IfTyq@QOlzm>9v-;Z!1Gx7q>J_U`O}NH?hDq z6~1;=3j4cjeF`kBcMZ0O^><*OZmFv3s;a6l73)6dFXnP7jkG47LtpE(`Q+m$jNM(e zj*%l$KR3__27Oi@ifYY6m2?YzTi)saPs{`O$hjWPSStwh6;e?v+&$0D{nZ&-9KnKW ztHk_5Zo;)r4v9`>u4ScwI%6CS<$Vonlk~VQNjaac>Cs~r8V+=2*o?k))Ms)PuX?>o zq=c~1T_;)NxLm8_{)2;q`udN6=ik L&22Aj^&Se?;rE$Jl z|NjX~s2RG&b9g6SUgHa?GMheH`bvTsPO5o_mt78b(#ksX(0kNJ%i+)U_-7A&q{@!= z$LXv6O+J^)K%HXt;+NKQJ$on3*AI03-dlQ-UyQ4Y=W*E$hCJlcEd|_)A8-_E&Rugc zjF8z0p%Ob7z9bd8rfR!XEh$$yRN6Woc{y}GxV!(|mlVNoO(-fVHn$MI>1OMkO@9MT z5PkuClTbTFi={KYLlM%?P-kI8F{xh*j!Lu0vVY>)Mj3?XrN$;4w|+ zT2oG{Sm7~$J7poeCT&D61A#p)=EtPp8Bd$OAX|QV{pQ`QpV8)B0u%Uce%l@0otMol z#T8**ymvq$gUq1SS;p4ZO=0}4GSReNJqjaH!q#qb_}u9kiOzX%JhCXG($-m<%NU6A m2<0wU1k3-w^M8A|5b`HXn} qy(1^qAThx`Np literal 0 HcmV?d00001 diff --git a/mvc/pom.xml b/mvc/pom.xml index 22c6259..8ff8f16 100644 --- a/mvc/pom.xml +++ b/mvc/pom.xml @@ -32,23 +32,36 @@ diff --git a/mvc/src/main/java/cn/bunny/mvc/MvcApplication.java b/mvc/src/main/java/cn/bunny/mvc/MvcApplication.java index b393517..5c0b17b 100644 --- a/mvc/src/main/java/cn/bunny/mvc/MvcApplication.java +++ b/mvc/src/main/java/cn/bunny/mvc/MvcApplication.java @@ -5,9 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MvcApplication { - public static void main(String[] args) { SpringApplication.run(MvcApplication.class, args); } - } diff --git a/mvc/src/main/java/cn/bunny/mvc/configuration/Knife4jConfig.java b/mvc/src/main/java/cn/bunny/mvc/configuration/Knife4jConfig.java new file mode 100644 index 0000000..331f43c --- /dev/null +++ b/mvc/src/main/java/cn/bunny/mvc/configuration/Knife4jConfig.java @@ -0,0 +1,33 @@ +package cn.bunny.mvc.configuration; + +import io.swagger.v3.oas.models.ExternalDocumentation; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import lombok.extern.slf4j.Slf4j; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +@Slf4j +public class Knife4jConfig { + @Bean + public OpenAPI openAPI() { + // 作者等信息 + Contact contact = new Contact().name("Bunny").email("1319900154@qq.com").url("http://bunny-web.site"); + // 使用协议 + License license = new License().name("MIT").url("https://MUT.com"); + // 相关信息 + Info info = new Info().title("家庭理财管理系统").description("家庭理财管理系统").version("v1.0.0").contact(contact).license(license).termsOfService("MIT"); + + return new OpenAPI().info(info).externalDocs(new ExternalDocumentation()); + } + + // 管理员相关分类接口 + @Bean + public GroupedOpenApi groupedOpenAdminApi() { + return GroupedOpenApi.builder().group("后台管理").pathsToMatch("/user/**").build(); + } +} diff --git a/mvc/src/main/java/cn/bunny/mvc/controller/UseController.java b/mvc/src/main/java/cn/bunny/mvc/controller/UseController.java new file mode 100644 index 0000000..8347632 --- /dev/null +++ b/mvc/src/main/java/cn/bunny/mvc/controller/UseController.java @@ -0,0 +1,48 @@ +package cn.bunny.mvc.controller; + +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.ResponseBody; + +import java.util.ArrayList; +import java.util.List; + +@RequestMapping("/use") +@Controller +public class UseController { + + // 带参数访问 + @RequestMapping(value = "hello", method = RequestMethod.GET, params = {"name"}) + public String hello() { + return "hello"; + } + + @GetMapping("jumpPage") + public String jumpPage() { + return "jumpPage"; + } + + @GetMapping("index") + public String quick() { + return "user"; + } + + // 跳转的页面 + @GetMapping("toJump") + public String toJump() { + return "redirect:jumpPage"; + } + + @GetMapping("getJson") + @ResponseBody + public List org.springframework.boot -spring-boot-starter-thymeleaf +spring-boot-starter-web - + + org.springframework.boot -spring-boot-starter-web +spring-boot-starter-test +test + +org.springframework.boot +spring-boot-starter-thymeleaf ++ org.springframework.boot spring-boot-devtools runtime true - + +org.springframework.boot -spring-boot-starter-test -test +org.projectlombok +lombok +1.18.36 ++ com.github.xiaoymin +knife4j-openapi3-jakarta-spring-boot-starter +4.5.0 getJson() { + ArrayList list = new ArrayList<>(); + list.add("a"); + list.add("b"); + list.add("c"); + + return list; + } +} diff --git a/mvc/src/main/java/cn/bunny/mvc/controller/UseRestController.java b/mvc/src/main/java/cn/bunny/mvc/controller/UseRestController.java new file mode 100644 index 0000000..b75156e --- /dev/null +++ b/mvc/src/main/java/cn/bunny/mvc/controller/UseRestController.java @@ -0,0 +1,19 @@ +package cn.bunny.mvc.controller; + +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.servlet.ModelAndView; + +@RequestMapping("userRest") +@RestController +public class UseRestController { + + @GetMapping("page/test") + public ModelAndView test() { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("page/test"); + modelAndView.addObject("message", "这是消息内容"); + return modelAndView; + } +} diff --git a/mvc/src/main/resources/static/error/400.html b/mvc/src/main/resources/static/error/400.html new file mode 100644 index 0000000..beaaf7f --- /dev/null +++ b/mvc/src/main/resources/static/error/400.html @@ -0,0 +1,10 @@ + + + + + 400 + + +400
+ + \ No newline at end of file diff --git a/mvc/src/main/resources/static/error/404.html b/mvc/src/main/resources/static/error/404.html new file mode 100644 index 0000000..e5f9d7b --- /dev/null +++ b/mvc/src/main/resources/static/error/404.html @@ -0,0 +1,10 @@ + + + + +404 + + +404
+ + \ No newline at end of file diff --git a/mvc/src/main/resources/static/error/500.html b/mvc/src/main/resources/static/error/500.html new file mode 100644 index 0000000..6071bf4 --- /dev/null +++ b/mvc/src/main/resources/static/error/500.html @@ -0,0 +1,64 @@ + + + + +500 - 服务器错误 + + + + ++ + + \ No newline at end of file diff --git a/mvc/src/main/resources/templates/hello.html b/mvc/src/main/resources/templates/hello.html new file mode 100644 index 0000000..05a8084 --- /dev/null +++ b/mvc/src/main/resources/templates/hello.html @@ -0,0 +1,40 @@ + + + + + +:'(
+服务器开小差啦!管理员正在修理中...
+还请阁下静候站点恢复~
+hello + + +Hello
++ 带参数显示 ++ + + \ No newline at end of file diff --git a/mvc/src/main/resources/templates/jumpPage.html b/mvc/src/main/resources/templates/jumpPage.html new file mode 100644 index 0000000..d30c7b7 --- /dev/null +++ b/mvc/src/main/resources/templates/jumpPage.html @@ -0,0 +1,10 @@ + + + + +{{ message }}
+{{count}}
+ + + +jumpPage + + +跳转的页面 + + \ No newline at end of file diff --git a/mvc/src/main/resources/templates/page/test.html b/mvc/src/main/resources/templates/page/test.html new file mode 100644 index 0000000..35a78e9 --- /dev/null +++ b/mvc/src/main/resources/templates/page/test.html @@ -0,0 +1,11 @@ + + + + +使用RestController返回页面信息 + + +使用RestController返回页面信息
+ + + \ No newline at end of file diff --git a/mvc/src/main/resources/templates/user.html b/mvc/src/main/resources/templates/user.html new file mode 100644 index 0000000..f385631 --- /dev/null +++ b/mvc/src/main/resources/templates/user.html @@ -0,0 +1,10 @@ + + + + +测试用户界面 + + +哈哈哈1ss
+ + \ No newline at end of file