国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

dede網(wǎng)站百度統(tǒng)計(jì)怎么做中國(guó)免費(fèi)網(wǎng)站服務(wù)器下載

dede網(wǎng)站百度統(tǒng)計(jì)怎么做,中國(guó)免費(fèi)網(wǎng)站服務(wù)器下載,python自學(xué),360平臺(tái)怎么做網(wǎng)站優(yōu)化目錄 完善登錄功能 注冊(cè)接口參數(shù)校驗(yàn) 完善分頁(yè)查詢 完善日期格式 更新文章分類和添加文章分類的分組校驗(yàn) ?編輯 自定義校驗(yàn) 文件上傳 完善登錄功能 對(duì)前端傳過(guò)來(lái)的明文密碼進(jìn)行md5加密處理 password DigestUtils.md5DigestAsHex(password.getBytes()); 這樣既可 注…

目錄

完善登錄功能

注冊(cè)接口參數(shù)校驗(yàn)

完善分頁(yè)查詢

完善日期格式

更新文章分類和添加文章分類的分組校驗(yàn)

?編輯

自定義校驗(yàn)?

文件上傳?



完善登錄功能

對(duì)前端傳過(guò)來(lái)的明文密碼進(jìn)行md5加密處理

  password = DigestUtils.md5DigestAsHex(password.getBytes());

?這樣既可

注冊(cè)接口參數(shù)校驗(yàn)

Spring Validation

Spring 提供的一個(gè)參數(shù)校驗(yàn)框架,使用預(yù)定義的注解完成參數(shù)校驗(yàn)

使用Spring Validation,對(duì)注冊(cè)接口的參數(shù)進(jìn)行合法性校驗(yàn)

引入Spring Validation 起步依賴

在參數(shù)前面添加@Pattern注解

在Controller類上添加@Validated注解

完善分頁(yè)查詢

pom.xml:

<dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId></dependency>

mapper:動(dòng)態(tài)sql

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.sky.mapper.EmployeeMapper"><select id="pageQuery" resultType="com.sky.entity.Employee">select * from employee<where><if test="name!=null and name!=''">and name like concat('%',#{name},'%')</if></where>order by create_time desc</select>
</mapper>

?service:

完善日期格式

解決方式:
方式一:在屬性上加入注解,對(duì)日期進(jìn)行格式化

@JsonFormat(pattern ="yyyy-MM-dd HH:mm:ss")private LocalDateTime updateTime;

方式二:在 WebMvcConfiguration 中擴(kuò)展Spring MVC的消息轉(zhuǎn)換器,統(tǒng)一對(duì)日期類型進(jìn)行格式化處理

//擴(kuò)展springMvc框架的消息轉(zhuǎn)化器protected void extendMessageConverters(List<HttpMessageConverter<?>> converters) {log.info("擴(kuò)展消息轉(zhuǎn)化器..");//創(chuàng)建一個(gè)消息轉(zhuǎn)化器對(duì)象MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();//需要為消息轉(zhuǎn)化器設(shè)置一個(gè)對(duì)象轉(zhuǎn)化器,對(duì)象轉(zhuǎn)化器可以將java對(duì)象序列化為json數(shù)據(jù)converter.setObjectMapper(new JacksonObjectMapper());//將自己的消息轉(zhuǎn)化器加入容器中converters.add(0,converter);}

?

更新文章分類和添加文章分類的分組校驗(yàn)

添加文章中沒(méi)有傳id參數(shù)?

更新文章分類中傳了id參數(shù)?

這樣運(yùn)行起來(lái)就會(huì)報(bào)錯(cuò)

?可以這樣👇

package com.yjj.bigevent.Pojo;import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.groups.Default;
import lombok.Data;import java.time.LocalDateTime;@Data
public class Category {@NotNull(groups = Update.class)private Integer id;//主鍵ID@NotEmptyprivate String categoryName;//分類名稱@NotEmptyprivate String categoryAlias;//分類別名private Integer createUser;//創(chuàng)建人ID@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;//創(chuàng)建時(shí)間@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")private LocalDateTime updateTime;//更新時(shí)間//如果說(shuō)某個(gè)校驗(yàn)項(xiàng)沒(méi)有指定分組,默認(rèn)屬于Default分組// 分組之間可以繼承,A extends B那么A中擁有B中所有的校驗(yàn)項(xiàng)public interface Add extends Default {}public interface Update extends Default{}
}

就不會(huì)報(bào)錯(cuò)了

自定義校驗(yàn)?

自定義注解State

package com.yjj.bigevent.Anno;import com.yjj.bigevent.Validation.StateValidation;
import jakarta.validation.Constraint;
import jakarta.validation.Payload;import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;@Target({ FIELD})//元注解
@Retention(RUNTIME)//元注解
@Documented//元注解
@Constraint(validatedBy = { StateValidation.class})//指定提供校驗(yàn)規(guī)則的類
public @interface State {//提供校驗(yàn)失敗后的提示信息String message() default "state參數(shù)的值只能是已發(fā)布或者草稿";//指定分組Class<?>[] groups() default { };//負(fù)載獲取到State注解的附加信息Class<? extends Payload>[] payload() default { };
}

自定義校驗(yàn)數(shù)據(jù)的類StateValidation實(shí)現(xiàn)ConstraintValidator接口

package com.yjj.bigevent.Validation;import com.yjj.bigevent.Anno.State;
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;public class StateValidation implements ConstraintValidator<State,String> {//@param value 將來(lái)要校驗(yàn)的數(shù)據(jù)//@param context context in which the constraint is evaluated//@return 如果返回false,則校驗(yàn)不通過(guò),如果返回true,則校驗(yàn)通過(guò)@Overridepublic boolean isValid(String value, ConstraintValidatorContext context) {//提供校驗(yàn)規(guī)則if (value==null) {return false;}if (value.equals("已發(fā)布")||value.equals("草稿")){return true;}return false;}
}

在需要校驗(yàn)的地方使用自定義注解?

測(cè)試

文件上傳?

導(dǎo)入阿里云的依賴坐標(biāo)

pom.xml?

<dependency><groupId>com.aliyun.oss</groupId><artifactId>aliyun-sdk-oss</artifactId><version>3.17.4</version>
</dependency>

如果使用的是Java 9及以上的版本,則需要添加JAXB相關(guān)依賴。添加JAXB相關(guān)依賴示例代碼如下:

<dependency><groupId>javax.xml.bind</groupId><artifactId>jaxb-api</artifactId><version>2.3.1</version>
</dependency>
<dependency><groupId>javax.activation</groupId><artifactId>activation</artifactId><version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency><groupId>org.glassfish.jaxb</groupId><artifactId>jaxb-runtime</artifactId><version>2.3.3</version>
</dependency>

工具類:?

package com.yjj.bigEvent.Utils;import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;import java.io.InputStream;public class AliOssUtil {private static final String ENDPOINT = "https://加上訪問(wèn)端口(https://oss-cn-hangzhou.aliyuncs.com)";private static final String ACCESS_KEY_ID = "ACCESS的id";private static final String SECRET_ACCESS_KEY = "ACCESS的secret";private static final String BUCKET_NAME = "自己的bucket名字";//上傳文件,返回文件的公網(wǎng)訪問(wèn)地址public static String uploadFile(String objectName, InputStream inputStream){// 創(chuàng)建OSSClient實(shí)例。OSS ossClient = new OSSClientBuilder().build(ENDPOINT,ACCESS_KEY_ID,SECRET_ACCESS_KEY);//公文訪問(wèn)地址String url = "";try {// 創(chuàng)建存儲(chǔ)空間。ossClient.createBucket(BUCKET_NAME);ossClient.putObject(BUCKET_NAME, objectName, inputStream);url = "https://"+BUCKET_NAME+"."+ENDPOINT.substring(ENDPOINT.lastIndexOf("/")+1)+"/"+objectName;} catch (OSSException oe) {System.out.println("Caught an OSSException, which means your request made it to OSS, "+ "but was rejected with an error response for some reason.");System.out.println("Error Message:" + oe.getErrorMessage());System.out.println("Error Code:" + oe.getErrorCode());System.out.println("Request ID:" + oe.getRequestId());System.out.println("Host ID:" + oe.getHostId());} catch (ClientException ce) {System.out.println("Caught an ClientException, which means the client encountered "+ "a serious internal problem while trying to communicate with OSS, "+ "such as not being able to access the network.");System.out.println("Error Message:" + ce.getMessage());} finally {if (ossClient != null) {ossClient.shutdown();}}return url;}
}

http://aloenet.com.cn/news/45673.html

相關(guān)文章:

  • 行業(yè)網(wǎng)站方案營(yíng)銷型企業(yè)網(wǎng)站
  • 男生為女生做網(wǎng)站新媒體運(yùn)營(yíng)
  • 日本做曖小視頻在線觀看網(wǎng)站百度app下載安裝 官方
  • 遵義市做網(wǎng)站的電話58和百度哪個(gè)推廣效果好
  • dw做網(wǎng)站背景圖片設(shè)置關(guān)鍵詞批量調(diào)詞 軟件
  • 做微信公眾號(hào)的網(wǎng)站有哪些內(nèi)容外貿(mào)平臺(tái)排名
  • 重慶景點(diǎn)排名seo優(yōu)化標(biāo)題 關(guān)鍵詞
  • 常州網(wǎng)站建設(shè)案例長(zhǎng)沙優(yōu)化官網(wǎng)服務(wù)
  • 做外貿(mào)網(wǎng)站需要什么條件app拉新推廣怎么做
  • 黃村專業(yè)網(wǎng)站建設(shè)公司百度廣告代理商
  • 天津津坤科技發(fā)展有限公司鄭州seo優(yōu)化外包顧問(wèn)阿亮
  • 西安手機(jī)網(wǎng)站建設(shè)app投放渠道有哪些
  • wordpress 大內(nèi)存網(wǎng)站建設(shè)優(yōu)化推廣系統(tǒng)
  • 政府網(wǎng)站建設(shè)問(wèn)題nba中國(guó)官方網(wǎng)站
  • 自己制作頭像的網(wǎng)站 設(shè)計(jì) 動(dòng)漫蘇州seo關(guān)鍵詞優(yōu)化方法
  • 網(wǎng)絡(luò)葉子 網(wǎng)站推廣騰訊企業(yè)qq官網(wǎng)
  • asp動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)課后答案寧波seo推薦推廣渠道
  • wordpress本地網(wǎng)站百度網(wǎng)盤(pán)app
  • 5188大數(shù)據(jù)官網(wǎng)seo推廣是做什么
  • 寓意好的公司名字重慶seo排名電話
  • 非物質(zhì)文化遺產(chǎn)網(wǎng)站怎么做seo推廣是什么工作
  • 域名 空間 建網(wǎng)站黃桃圖片友情鏈接
  • 網(wǎng)站備案被惡意注銷優(yōu)化網(wǎng)站找哪家
  • 網(wǎng)站404怎么解決seo服務(wù)哪家好
  • 伊春百姓網(wǎng)免費(fèi)發(fā)布信息網(wǎng)鄭州seo哪家好
  • 揚(yáng)州西區(qū)網(wǎng)站建設(shè)企業(yè)網(wǎng)站推廣的方法有哪些
  • 做網(wǎng)站定金是多少錢(qián)百度開(kāi)車(chē)關(guān)鍵詞
  • 綿陽(yáng)網(wǎng)站建設(shè)餐飲營(yíng)銷策劃與運(yùn)營(yíng)
  • wordpress文章id修改鄭州seo顧問(wèn)外包
  • 搜網(wǎng)站網(wǎng)滄州網(wǎng)站優(yōu)化