当前位置: 首页 > wzjs >正文

佛山建网站哪家好网络域名是什么

佛山建网站哪家好,网络域名是什么,织梦分类信息做的网站,网站开发先学什么一、文章管理接口。 共有5个,分别为: 1.新增文章; 2.文章列表(条件分页) ; 3.获取文章详情; 4.更新文章; 5.删除文章。 二、详解。 1.新增文章。 ArticleController.java: PostMappingpublic R…

一、文章管理接口。

        共有5个,分别为:

                1.新增文章;

                2.文章列表(条件分页) ;

                3.获取文章详情;

                4.更新文章;

                5.删除文章。

二、详解。

        1.新增文章。

        ArticleController.java:

    @PostMappingpublic Result add(@RequestBody Article article){articleService.add(article);return Result.success();}

        ArticleService.java:

    //新增文章void add(Article article);

        ArticleServiceInterface.java:

    @Overridepublic void add(Article article) {//补充属性值article.setCreateTime(LocalDateTime.now());article.setUpdateTime(LocalDateTime.now());Map<String,Object> map = ThreadLocalUtil.get();Integer UserId = (Integer) map.get("id");article.setCreateUser(UserId);articleMapper.add(article);}

        ArticleMapper.java:

    // 新增@Insert("insert into article(title,content,cover_img,state,category_id,create_user,create_time,update_time) " +"values(#{title},#{content},#{coverImg},#{state},#{categoryId},#{createUser},#{createTime},#{updateTime})")void add(Article article);

        使用Postman运行测试:

**********************************************参数校验****************************************************          

         实体类添加相关参数校验的注解,并添加@Validated注解:  

        当已有的注解不能满足所有的校验需求,特殊的情况需要自定义校验(自定义校验注解) 。

具体步骤为:

                1.自定义注解State

                2. 自定义校验数据的类StateValidation实现ConstraintValidator接囗

                3.在需要校验的地方使用自定义注解。     

        对于参数state进行自定义参数校验:

        新建子包annotate,并新建注解State.java

@Documented //元注解
@Target(ElementType.FIELD) //元注解
@Retention(RetentionPolicy.RUNTIME) //元注解
@Constraint(validatedBy = {StateValidation.class}) //指定提供校验规则的类
public @interface State {//提供校验失败的提示信息String message() default "State参数的值只能为已发布或者草稿";//指定分组Class<?>[] groups() default {};//负载 获取State注解的附加信息Class<? extends Payload>[] payload() default {};}

        新建子包Validation,并新建自定义校验数据的类StateValidation实现ConstraintValidator接囗:

public class StateValidation implements ConstraintValidator<State,String> {/**** @param value 将来要校验的信息* @param constraintValidatorContext* @return false--> 校验不通过  反之,通过*/@Overridepublic boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {//提供校验规则if(value == null){return false;}if(value.equals("已发布") || value.equals("草稿")){return true;}return false;}
}

        最后在实体类Article上使用注解即可:

        使用Postman测试:

        

        2.文章列表(条件分页) 。

        ArticleController.java:

    @GetMappingpublic Result<PageBean<Article>> list(Integer pageNum,Integer pageSize,@RequestParam(required = false) Integer categoryId,@RequestParam(required = false) String state){PageBean<Article> pb = articleService.list(pageNum,pageSize,categoryId,state);return Result.success(pb);}

        ArticleService.java:

    //条件分页列表查询PageBean<Article> list(Integer pageNum, Integer pageSize, Integer categoryId, String state);

        pom.xml添加分页插件PageHelper

    <!--PageHelper坐标--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.4.6</version></dependency>

        ArticleServiceInterface.java:

    @Overridepublic PageBean<Article> list(Integer pageNum, Integer pageSize, Integer categoryId, String state) {//1.创建PageBean对象PageBean<Article>  pb = new PageBean<>();//2.开启分页查询 PageHelperPageHelper.startPage(pageNum,pageSize);//3.调用MapperMap<String,Object> map = ThreadLocalUtil.get();Integer userId = (Integer) map.get("id");List<Article> as = articleMapper.list(userId,categoryId,state);//Page中提供了方法,可以获取PageHelper分页查询后 得到的总记录条数和当前页数据Page<Article> p = (Page<Article>) as;//将数据填充到PageBean对象中pb.setTotal(p.getTotal());pb.setItems(p.getResult());return pb;}

        ArticleMapper.java:

List<Article> list(Integer userId, Integer categoryId, String state);

        新建动态SQL文件,在resources目录下新建与ArticleMapper.java所在位置同样的文件路径,并新建文件ArticleMapper.xml,命名与ArticleMapper必须相同:

     ArticleMapper.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.azhyyi.mapper.ArticleMapper"><!--动态SQL--><select id="list" resultType="org.azhyyi.entity.Article">select * from article<where><if test="categoryId!= null">category_id=#{categoryId}</if><if test="state!= null">and state=#{state}</if>and create_user=#{userId}</where></select>
</mapper>

        使用Postman运行测试:


                

        3.获取文章详情;

        4.更新文章;

        5.删除文章。

        ArticleController.java:

    @GetMapping("/detail")public Result<Article> detail(Integer id){Article c = articleService.findById(id);return Result.success(c);}@PutMappingpublic Result update(@RequestBody @Validated Article article){articleService.update(article);return Result.success();}@DeleteMappingpublic Result delete(Integer id){articleService.deleteById(id);return Result.success();}

        ArticleService.java:

        ArticleServiceInterface.java:

    @Overridepublic Article findById(Integer id) {Article a = articleMapper.findById(id);return a;}@Overridepublic void deleteById(Integer id) {articleMapper.deleteById(id);}@Overridepublic void update(Article article) {article.setUpdateTime(LocalDateTime.now());articleMapper.update(article);}

        ArticleMapper.java:

    //获取文章详情@Select("select * from article where id=#{id}")Article findById(Integer id);//删除文章@Delete("delete from article where id=#{id}")void deleteById(Integer id);//更新文章@Update("update article set title=#{title},content=#{content},cover_img=#{coverImg}," +"state=#{state},category_id=#{categoryId},update_time=#{updateTime}" +"where id=#{id} ")void update(Article article);

        使用Postman测试,这三个接口均通过测试。

        至此,大事件的后端接口基本开发完毕。


文章转载自:

http://FibfcLgV.gnjkn.cn
http://nUYxhcXH.gnjkn.cn
http://j4eSWiP2.gnjkn.cn
http://8m0kIVHm.gnjkn.cn
http://AhMDEm1E.gnjkn.cn
http://IkIb3xvN.gnjkn.cn
http://n6IE8KZW.gnjkn.cn
http://zt7gQzuN.gnjkn.cn
http://up95Gay7.gnjkn.cn
http://GLMSMPFy.gnjkn.cn
http://sj1nfy0Y.gnjkn.cn
http://F7GTnvse.gnjkn.cn
http://3vZtSQwR.gnjkn.cn
http://Ap46GiS7.gnjkn.cn
http://6WkXNLUz.gnjkn.cn
http://fLKd5G2V.gnjkn.cn
http://iSPhARUz.gnjkn.cn
http://vEz3ewJ0.gnjkn.cn
http://kSQFQD8N.gnjkn.cn
http://1hKHmULv.gnjkn.cn
http://cCrQMeEr.gnjkn.cn
http://d54vOfGQ.gnjkn.cn
http://xLXT3fwX.gnjkn.cn
http://4IRbnwr6.gnjkn.cn
http://vtWd6LA8.gnjkn.cn
http://ZI616YpB.gnjkn.cn
http://uIOjon1s.gnjkn.cn
http://bCRYQz6X.gnjkn.cn
http://qBBW2Zbw.gnjkn.cn
http://9iBTyc95.gnjkn.cn
http://www.dtcms.com/wzjs/735100.html

相关文章:

  • 网站制作 番禺ps网站建设教程视频
  • 企业网站 阿里云大连做网站哪里好
  • 河南网站关键词优化代理wordpress手机版侧栏导航条
  • 做视频网站需要哪些条件京东企业采购平台
  • 西部数码网站工具wordpress如何修改页脚
  • seo网站模版内蒙古兴安盟建设局网站
  • 监控设备网站制作公司做环评的网站
  • wordpress网站编辑深圳品牌营销策划机构
  • 磁力屋torrentkitty济南seo网站建站
  • 网站开发基本语言做网站找景安
  • wordpress 批量建站吴忠住房和城乡建设局网站
  • 门户网站集群建设公司logo免费生成器
  • 科站网站网站开发所遵循
  • asp网站开发技术总结与收获推荐网站网页
  • 关于网站开发的创业计划书泰州城乡建设局网站
  • 做汽车配件网站的公司黄岛网站建设哪家专业
  • 网站做镜像是什么浙江网站建设和制作
  • 骨科医院网站模板asp做网站基本过程
  • wordpress邮箱配置stmp昆明seo网站排名
  • 做美食推广的网站wordpress 屏蔽搜索
  • 常见的制作网站的工具2020中国企业500强榜单
  • 网站特色页面建设自创网站怎么赚钱
  • 网站建设模板素材有哪些专门做展会创意的网站
  • 网站推广经验大丰网站建设公司
  • 爱站网seo工具查询俄罗斯在线 网站制作
  • 自建网站推广的最新发展做网站的几个必要步骤
  • 织梦网站发稿说明网站首页模板管理
  • 网站制作的市场前景广播电台网站建设方案
  • 高邮建设局网站wordpress自带主题下载
  • 做网站大约需要多少钱注册一家有限公司需要多少钱