前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >系统设计与分析 作业3

系统设计与分析 作业3

作者头像
平凡的学生族
发布2019-05-25 09:31:14
4910
发布2019-05-25 09:31:14
举报
文章被收录于专栏:后端技术后端技术

1. 调研经验

在本次项目中,我负责了调研工作,其中用到了“问卷星”这一平台。 在这个平台上可以比较轻松地设计和发布问卷,并查看统计结果。

比较需要花心思的是问题的设置,在设置某两道题的选项时,花费了较多心思。

最后,分析调查结果,写成文档,发布到项目的github上 github 调研报告

2. 后台开发学习

2.1 nodejs express使用https

微信小程序的访问要求必须是Https协议,所以我们可以使用nodejs的express框架 参考 nodejs express使用https 主要过程是设置认证,监听SSL端口,并设置路由响应

代码语言:javascript
复制
var app = require('express')();
var fs = require('fs');
var http = require('http');
var https = require('https');

// https设置认证
var privateKey  = fs.readFileSync('/path/to/private.pem', 'utf8'),
var certificate = fs.readFileSync('/path/to/file.crt', 'utf8');
var credentials = {key: privateKey, cert: certificate};

var httpServer = http.createServer(app);
var httpsServer = https.createServer(credentials, app); // https启动服务器
var PORT = 18080;
var SSLPORT = 18081;

httpServer.listen(PORT, function() {
    console.log('HTTP Server is running on: http://localhost:%s', PORT);
});
httpsServer.listen(SSLPORT, function() { // https监听端口
    console.log('HTTPS Server is running on: https://localhost:%s', SSLPORT);
});

// Welcome
app.get('/', function(req, res) {
    if(req.protocol === 'https') {
        res.status(200).send('Welcome to Safety Land!');
    }
    else {
        res.status(200).send('Welcome!');
    }
});

2.2 Restful的理解,Restful 优缺点

参考 Restful的理解,Restful 优缺点

我们知道restful是面向资源的,但并不是任何场景都适合用restful的思想。 比如

  1. 批量删除数据,DELETE /tickets/12就不合适了
  2. 当查询操作的参数过长时,GET也不合适,比如查询1000个订单的信息,GET /tickets就得传一个长度为1000的数组
  3. 对同一个事物的不同属性进行更新,就不适合全部用PUT ticket/12一个域名来一概而论。(虽然也能传递参数,但还是略显麻烦)

所以

  1. 简单查询尽量用GET,复杂查询和更新用POST,用的最多;
  2. 不用PUT和DELETE,避免增加复杂度。 看看BAT的很多openapi,也是表面上用着restful,实际没有严格遵守,还是以get和post为主。

详细做法如下:

代码语言:javascript
复制
//根据订单id获取订单
GET oms/order/queryOrderById?id=value1&param2=value2
 
//根据订单id List获取订单
POST oms/order/queryOrderByIdList
 
//根据条件查询订单,带分页参数
POST oms/order/queryOrderByCondition
 
//更新订单收款状态
POST oms/order/updateOrderCollectionStatus
 
//批量更新订单收款状态
POST oms/order/updateOrderCollectionStatusInBatch
 
//批量更新订单收款状态
POST oms/order/updateOrderCollectionStatusInBatch
 
//批量删除订单,带操作来源
POST oms/order/deleteOrderInBatch
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 调研经验
  • 2. 后台开发学习
    • 2.1 nodejs express使用https
      • 2.2 Restful的理解,Restful 优缺点
      相关产品与服务
      云开发 CloudBase
      云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档