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

全国网站建设百度推广代理公司哪家好

全国网站建设,百度推广代理公司哪家好,邢台网站建设有哪些,付费网站建设模板1,首先讲一下获取application.yml文件中的参数 其实yml文件中的参数形式是十分有规则的,并且层级关系也很明显。首先我们来看一段代码: com:ysw:socail:qq:appid: qqappidappsecret: qqappsecret假如我们想读取这一段代码的话,首…

1,首先讲一下获取application.yml文件中的参数

其实yml文件中的参数形式是十分有规则的,并且层级关系也很明显。首先我们来看一段代码:

com:ysw:socail:qq:appid: qqappidappsecret: qqappsecret

假如我们想读取这一段代码的话,首先我们要导入坐标依赖,开启常量读取的功能:

<!-- 开启常量读取功能 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId><optional>true</optional></dependency>

然后创建一个constant包,下面根据yml的内容创建class文件:
在这里插入图片描述
首先我们来定义BootProperties文件,这个文件主要是用于指定前缀内容的,是我们的主要配置类,然后再将这个配置类注入容器中去,再在其它类中使用@Autowired就可以获取里面的内容了,因为在application.yml文件中,我们定义的是com - ysw - social - qq,所以这个配置文件中定义好了social的前缀部分,如果我们想在这个配置文件中引用的话就使用social进行getter/setter即可:

package com.ysw.constant;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;//这个是配置类,采用封装的方式来进行//这个是定义我们的前缀的
@ConfigurationProperties(prefix = "com.ysw")
//把这个注入容器
@Configuration
public class BootProperties {private SocialProperties socail;public SocialProperties getSocail() {return socail;}public void setSocail(SocialProperties socail) {this.socail = socail;}
}

然后再看我们的SocialProperties,因为SocailProperties文件中要对应application.yml文件,这里social目录下有个qq,同理设置qq进行getter/setter:

package com.ysw.constant;public class SocialProperties {private QQProperties qq;public QQProperties getQq() {return qq;}public void setQq(QQProperties qq) {this.qq = qq;}
}

最后看到我们的qq这个属性中,是包含两个属性内容的,分别是appid、appsecret,因此同样地在这个QQProperties文件中设置两个变量,使用getter/setter即可:

package com.ysw.constant;public class QQProperties {private String appid;private String appsecret;public String getAppid() {return appid;}public void setAppid(String appid) {this.appid = appid;}public String getAppsecret() {return appsecret;}public void setAppsecret(String appsecret) {this.appsecret = appsecret;}
}

在使用的时候,因为我们的BootProperties文件已经定义为了配置类,所以要使用@Autowired来提取容器中的对象,然后通过链式编程不断地get出来即可。

    @Autowiredprivate BootProperties bootProperties;@GetMapping("/getAllss")public void test(){System.out.println(bootProperties.getSocail().getQq().getAppid());System.out.println(bootProperties.getSocail().getQq().getAppsecret());}

2,使用JSONResult的方式在Controller层返回一个规范的参数

其实这个返回JSONResult形式的参数在平时我们也很常见,在我们浏览器的请求头的内容里面我们也可以看到类似于这种的返回形式的内容,比如状态码(200表示成功)、返回内容Content(数据内容)、返回信息内容…这里我们就可以直接自己定义一个JSONResult.java实体类(这里无非就是成功的时候,指定好了状态码和成功的信息,但是data的内容需要传入而已;失败的时候就指定data的内容为null,但是状态码和错误信息需要我们来自定义)。

package com.ysw.domain;/*** 专门返回给前端的**      返回200表示成功,其他都是失败****/
public class JsonResult {private Integer status;private Object data;private String msg;//静态资源构造器 - 成功public static JsonResult isOk(Object data){//这里意思其实是如果成功了,我们是需要使用data数据的,所以直接传data进来,其他的是默认的数据内容return new JsonResult(200,data,"request success");}//静态资源构造器 - 失败public static JsonResult isError(Integer status,String msg){//如果失败了,data是空的,但是状态码和错误信息需要自己定义return new JsonResult(status,null,msg);}//有参构造器public JsonResult(Integer status, Object data, String msg) {this.status = status;this.data = data;this.msg = msg;}//无参构造器public JsonResult() {}public Integer getStatus() {return status;}public void setStatus(Integer status) {this.status = status;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}
}
Controller层
//这里是指定了传入一个Json的User对象,然后就会调用这个新增用户的方法@PostMappingpublic JsonResult addUser(@RequestBody User user){//传入数据库return JsonResult.isOk(user);}//这里是更新用户,如上述一样要传入一个User对象@PutMappingpublic JsonResult updateUser(@RequestBody User user){return JsonResult.isOk(user);}@DeleteMapping("/{id}")public JsonResult deleteUser(@PathVariable Integer id){return JsonResult.isOk(id);}

3,RESTFul风格的API自定义

其实RESTFul风格的API更接近于我们实际工作的应用开发,因为在RESTFul风格中,增删改查都可以定义为对应的四种状态:

  • 新增数据 PostMapping
  • 删除数据 DeleteMapping
  • 修改数据 PutMapping
  • 查询数据 GetMapping

如果我们的Controller层返回的都是JSON对象的话,我们只需要使用@RestController来替代@Controller@ResponseBody两个标签。

package com.ysw.con	troller;import com.ysw.dao.UserDao;
import com.ysw.domain.JsonResult;
import com.ysw.domain.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import java.util.List;/*** 返回的Api一定是json* /user/regist* /user/login** RESTFul的设计思想是将所有的操作都认为是对数据库资源的操作** 针对资源的操作分为四种:增删改查* 增:POST* 删:DELETE* 更:PUT* 查:GET**/
@RestController
@RequestMapping("/user")
public class DemoRestConrtoller {@Autowiredprivate UserDao userDao;/*** 这种是直接获取全部的user** @return*/@GetMappingpublic JsonResult getAll(){List<User> lists = userDao.findAll();//这里成功了只需要把data传进JsonResult中,这里面是带有data数据的,并且status和msg都有默认值return JsonResult.isOk(lists);}//查询一个@GetMapping("/{id}")public JsonResult getById(@PathVariable Integer id){//这里如果说成功的话我们只需要传入data进封装好的JsonResult中,成功是带有定义好的status和msg的return JsonResult.isOk(userDao.findById(id));}//这里是指定了传入一个Json的User对象,然后就会调用这个新增用户的方法@PostMappingpublic JsonResult addUser(@RequestBody User user){//传入数据库return JsonResult.isOk(user);}//这里是更新用户,如上述一样要传入一个User对象@PutMappingpublic JsonResult updateUser(@RequestBody User user){return JsonResult.isOk(user);}@DeleteMapping("/{id}")public JsonResult deleteUser(@PathVariable Integer id){return JsonResult.isOk(id);}}
http://www.lbrq.cn/news/2764783.html

相关文章:

  • 做网站电脑开一天用多少钱2022当下社会热点话题
  • 商标注册查询官网网站seo咨询服务
  • 哪里建设企业网站网站排名优化培训电话
  • 扬州高邮网站建设焊工培训心得体会
  • 抖音网站怎么做热门推广软件
  • 直播app开发教程seo排名优化app
  • 网站建设制作及推广seo基础知识培训
  • wordpress略缩图altseo服务包括哪些
  • 如何用xshell安装wordpress百度关键词优化推广
  • 单独做手机网站怎么做百度广告投放价格表
  • 如何提高网站点击率怎么做搜索引擎优化排名技巧
  • 前端入门先学什么seo交流群
  • 做好政府门户网站的建设百度排名点击
  • 网红营销模式分析英文网站seo
  • 计算机网站建设开题报告如何自己建设网站
  • 求个没封的a站yw1129cm苏州推广排名
  • 网站 开发流程国内最新消息
  • 外贸soho怎么建网站廊坊seo快速排名
  • 广州大型网站建设公司排名全网整合营销推广系统
  • 建设网站公司哪家好软件网站排行榜
  • 深圳企业网站建设费用温州seo招聘
  • 沈阳市网站建设哪里的公司比较好线上营销策划案例
  • dedecms能做什么网站微信引流推广精准粉
  • 静态网站作品怎么做网络营销推广啊
  • 网站建设公司网站定制开发网站怎么推广
  • 无锡优化网站公司百度合伙人答题兼职赚钱
  • wordpress的xmlrpc长沙优化科技有限公司
  • 苏州模板做网站官网整站优化
  • 九江建网站公司有哪些免费的关键词优化软件
  • 域名网站平台网站设计公司怎么样
  • Android使用Kotlin协程+Flow实现打字机效果
  • 云计算-云上实例部署 RocketChat:Mongodb、主从数据库、Node 环境配置指南
  • Django前后端交互实现用户登录功能
  • k8s集群搭建一主多从的jenkins集群
  • Collections.synchronizedList是如何将List变为线程安全的
  • 电子电气架构 --- 自动驾驶汽车的下一步发展是什么?