发表于: 2020-05-17 21:54:04
1 1405
今天完成的事情:任务二初步学习 1~3
一、接口文档
目的是方便端到端的信息交互
1、接口文档应包含的信息:
(1)接口功能
(2)接口路径
(3)接口入参
(4)接口出参
(5)各字段说明、约定值、是否必填、默认参数
(6)复杂数据结构给出出范例
2、接口应符合restful命名风格
(1)什么是restful?
①要先知道什么是REST
REST(REpresentational State Transfer 表现层状态转移)
RE Resource 资源 即数据
presentational 某种表现形式 比如 JSON,XML,JPEG
State Transfer 状态变化。通过HTTP动词实现
②RESTful可以理解为url定位资源,用HTTP动词(GET,POST,PUT,DELETE)描述操作。RESTful 是典型的基于HTTP的协议
③RESTful API(Application Programming Interface,应用程序接口)是一套协议来规范多种形式的前端和同一个后台的交互方式,
RESTful API是一个后端为了适应多变的前端而产生的一种交流方式规范 比如前端问候“Hello , こんにちは” 后端都只会收到你好(个人理解)
(2)RESTfull API设计原则与规范
①资源:文本用TXT,HTML,XML 图片用JPG,PNG JSON是现在最常用的表现形式
②统一接口:RESTful的CURD对应HTTP方法
C(create) =POST(新建资源)、U(update)=PUT(更新资源)、R(red)=GET(获取资源)、D(delete)=DELETE(删除资源)
③URI(统一资源定位符:
每个URI都对应一个资源,获取资源的时候访问URI就可以,URI就是资源的地址或者标识符。每个资源最少有一个URI与之对应。典型的是URL
④无状态
即所有的资源都可以URI定位,而且这个定位与其他资源无关,也不会因为其他资源的变化而变化。
比如说要查询员工工资的步骤为第一步:登录系统。第二步:进入查询工资的页面。第三步:搜索该员工。第四步:点击姓名查看工资。这样的操作 流程就是有状态的。查询工资的每一个步骤都依赖于前一个步骤,只要前置操作不成功,后续操作就无法执行。
如果输入一个URL就可以得到指定员工的工资,则这种情况就是无状态的,因为获取工资不依赖于其他资源或状态,且这种情况下,员工工资是一个 资源,由一个URL与之对应可以通过HTTP中的GET方法得到资源
我是用ShowDoc来创建接口文档,界面很简洁
二、创建Maven Web项目
1、创建的时候出现Generating Project in Batch mode 然后就卡住不动了,查到原因是是网络带宽不足问题!需要下载一个叫archetype-catalog.xml 文件 由于默认的中央仓库的在国外,所以会导致这样的问题发生,需要配置一个阿里云镜像,这样快很多,只需要在settings.xml文件中的mirrors下添加 mirror标签
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
2、maven项目创建完成之后,还需要配置一个服务器,将maven项目进行发布,这样客户端浏览器才能通过服务器来访问文件,服务器就是tomcat
配置方法:https://blog.csdn.net/qq_40881680/article/details/83582484 配置完成之后依照步骤来连接服务器与web项目
(1)
(2)
(3) Application serve 是tomcat 版本 Name编辑名称
(4) 右边 + 号 选中选项 ,最后点击OK
(5)点击运行,成功
Hello World 字样出现后表示配置完成,查看web项目发现 在 index.jsp文件中出现了Hello World !字样,可以知道用户浏览器访问的文件就是.jsp文件
3、web.xml配置文件
(1)web.xml文件是创建web工程时就有的配置文件,web.xml主要用来配置Filter,Linstener,Servlet等,但web.xml不是必须的
(2)启动WEB项目的时候,容器会先去读取web.xml 中的两个节点 <Listener></Listener>、<context-param></context-param>
然后创建一个ServletContext 容器以<context-param></context-param>的name作为键,value作为值,将其转化为键值对,存入ServletContext
(3)一些标签
①<web-app> </web-app> 是web.xml的根标签,需要注意的是 如果标签中出现<servlet></servlet>和<servlet-mapping></servlet-mapping>
那么<servlet></servlet>要在<servlet-mapping></servlet-mapping>的前边
②<display-name></display-name>定义web应用的名称
③配置Spring,必须要<Linstener>,而且路径必须在/WEB-INF/applicationContext.xml
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
Orders表是下过订单的客户的id ,可以用LEFT JOIN 语句,以Customers表为标准。代码如下
想了想以后还是不贴每日一题了
刚接触任务二,又有好多没有接触过的东西,进度很慢
明天计划的事情:Q3以后
评论