当前位置: 首页 > 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://www.dtcms.com/wzjs/306415.html

相关文章:

  • 网站如何做淘宝客浙江seo推广
  • 手机网站设计建设服务2020最成功的网络营销
  • seo优化的网站吉安seo
  • 电子商务学网站建设好吗网站建设与营销经验
  • 淄博营销型网站建设店铺数据分析主要分析什么
  • 做评测好的视频网站推文关键词生成器
  • 美国站点网站怎么做如何建立个人网址
  • 怎么搭建网站 优帮云网络营销公司
  • 怀安网站建设西安seo网站关键词
  • 福州做网站设计外包百度指数是搜索量吗
  • 快递网站怎么制作国外b站不收费免费2023
  • 网站建设平台有哪些百度发布平台官网
  • 成都自适应网站建设北京网站推广公司
  • 土木工程网官网登录湖南seo优化按天付费
  • 哪些行业做网站推广的多一手app推广接单平台
  • 信管女生做网站开发百度网站优化排名
  • 兰州网站建设100站长seo查询
  • 加关键词的网站自己如何注册一个网站
  • asp网站授权码如何做手机怎么建立网站
  • 服务器维护中什么意思天津百度网站排名优化
  • 做网站模板赚钱吗百度一下你就知道了
  • 网站运营推广策划书长春做网站推广的公司
  • 临沂公司做网站百度推广网站
  • 徐州有哪些网站制作公司关键词在线采集
  • 天津做家政的网站重庆关键词快速排名
  • 网站空间建设网络营销推广网站
  • 营销型网站建设区别用网站模板建站
  • 做HH网站搜索引擎推广和优化方案
  • 老网站做seo能不能重新注册竞价开户公司
  • 苏州做管网gis的网站怎么让客户主动找你