post请求

django rest framework serializers小结

有些话、适合烂在心里 提交于 2019-12-06 01:20:41
引言   serializers是什么?官网是这样的”Serializers allow complex data such as querysets and model instances to be converted to native Python datatypes that can then be easily rendered into JSON, XML or other content types. “翻译出来就是,将复杂的数据结构变成json或者xml这个格式的。      在最近的学习中,个人看法,serializers有以下几个作用:    - 将queryset与model实例等进行序列化,转化成json格式,返回给用户(api接口)。   - 将post与patch/put的上来的数据进行验证。    - 对post与patch/put数据进行处理。  (后面的内容,将用patch表示put/patch更新,博主认为patch更贴近更新的说法)   简单来说,针对get来说,serializers的作用体现在第一条,但如果是其他请求,serializers能够发挥2,3条的作用!    **本文比较长,用张图简单介绍一下主要内容** serializers.fieild   我们知道在django中,form也有许多field

Django RestFramework学习笔记

狂风中的少年 提交于 2019-12-06 00:23:59
文章目录 @[toc] 安装 使用细节 修改`settings.py` 在app中创建`serializers.py`文件——序列化文件 在`views.py`中创建类 在`urls.py`中注册路由 请求 http请求方式 状态码 使用例子 自定义数据返回结构 解决跨域请求问题 方法1 修改settings配置, 避开csrf验证 方法2 使用csrf_exempt装饰器对特定view进行屏蔽 方法3 重写SessionAuthorization中的enforce_csrf filter筛选 分页 参考 安装 pip install djangorestframework 使用细节 修改 settings.py INSTALLED_APPS中加入’rest_framework’, 在app中创建 serializers.py 文件——序列化文件 from rest_framework import serializers from .models import MyModel class MyModelSerializer(serializers.ModelSerializer): class Meta: # 关联数据表(前面不是变量名) model = MyModel # 确定需要序列化的字段(返回给用户的具体表中的字段)(前面不是变量名) fields = ['id',

Django REST framework 框架1(引入DjangoRESTframework)

前提是你 提交于 2019-12-06 00:15:59
1. Web应用模式 在开发Web应用中,有两种应用模式: 前后端不分离 前后端分离 1.1前后端不分离 在前后端不分离的应用模式中,前端页面看到的效果都是由后端控制,由后端渲染页面或重定向,也就是后端需要控制前端的展示,前端与后端的耦合度很高。 这种应用模式比较适合纯网页应用,但是当后端对接App时,App可能并不需要后端返回一个HTML网页,而仅仅是数据本身,所以后端原本返回网页的接口不再适用于前端App应用,为了对接App后端还需再开发一套接口。 1.2前后端分离 在前后端分离的应用模式中,后端仅返回前端所需的数据,不再渲染HTML页面,不再控制前端的效果。至于前端用户看到什么效果,从后端请求的数据如何加载到前端中,都由前端自己决定,网页有网页的处理方式,App有App的处理方式,但无论哪种前端,所需的数据基本相同,后端仅需开发一套逻辑对外提供数据即可。 在前后端分离的应用模式中 ,前端与后端的耦合度相对较低。 在前后端分离的应用模式中,我们通常将后端开发的每个视图都称为一个 接口 ,或者 API ,前端通过访问接口来对数据进行增删改查。 2. RESTful设计方法 2.1域名 应该尽量将API部署在专用域名之下。 https://api.example.com 如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。 https://example.org/api/

用ASP.NET Core 2.1 建立规范的 REST API -- HATEOAS

三世轮回 提交于 2019-12-05 23:38:06
本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblogs.com/cgzl/p/9019314.html 建立Richardson成熟度2级的POST、GET、PUT、PATCH、DELETE的RESTful API请看这里: https://www.cnblogs.com/cgzl/p/9047626.html 和 https://www.cnblogs.com/cgzl/p/9080960.html 和 https://www.cnblogs.com/cgzl/p/9117448.html 本文将把WEB API项目开始提升到Richardson成熟度3级的高度,尽管暂时还没有实现REST所有的约束,但是已经比较RESTful了。 本文需要的代码(右键另存,后缀改为zip): https://images2018.cnblogs.com/blog/986268/201806/986268-20180608085054518-398664058.jpg HATEOAS(Hypermedia as the engine of application state) 是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心

apache http

可紊 提交于 2019-12-05 22:30:55
package com.app.core.util; import com.google.common.base.Predicate; import com.google.common.collect.Maps; import lombok.extern.log4j.Log4j2; import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.collections.MapUtils; import org.apache.http.HttpEntity; import org.apache.http.NameValuePair; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http

接口调用post请求参数在body中

走远了吗. 提交于 2019-12-05 21:04:55
package com.ynhrm.common.utils; import com.alibaba.fastjson.JSONObject; import lombok.Data; import org.apache.http.Consts; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpRequestRetryHandler; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils; import

Nginx 日志打印POST数据

只愿长相守 提交于 2019-12-05 20:33:15
在工作中,开发希望能从Nginx日志中获取POST的数据信息,先记录下来 在日志格式后面加上 $request_body 配置信息 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" $request_body'; 在server中添加打印日志的操作 access_log logs/access.log main;   本以为问题解决了,开发有要求在日志中添加上 服务器响应返回的数据 目前的 nginx 是不支持输出 response 报文体的 使用 body_filter_by_lua 来分配请求报文体给一个 nginx 变量。下面是一个示例 1:下载安装LuaJIT # wget http://luajit.org/download/LuaJIT-2.0.2.tar.gz # tar -xzvf LuaJIT-2.0.2.tar.gz # cd LuaJIT-2.0.2 # make 出现如下内容表示编译成功 OK Successfully built LuaJIT make[1]: Leaving

代码审计新手入门-xdcms_v1.0

旧城冷巷雨未停 提交于 2019-12-05 19:54:47
对xdcms的一次审计练习,萌新入坑必备 前言 大家好,我是kn0sky,这次整了一个以前的小CMS进行练手,xdcms,版本: v1.0, 这个CMS虽然有点老,但是用来新手入门练手倒是挺不错的,在这里,你可以接触学习到多种sql语句的SQL注入漏洞,多种文件操作漏洞等等…… 审计的思路是: 先大概浏览一下源代码,看看代码的逻辑大概是怎么运行的,找找关键的文件 然后按照功能点进行测试 环境准备: windows 7 虚拟机 xdcms_v1.0源码 PHPStudy: PHP 5.2.17 + MySQL 5.7.26 (因为这个CMS太老了,选新版本的PHP容易出问题) 废话不多说,直接开始吧 审计开始 通读代码的时候注意了!不要直接拿到源码就去读! 我们需要先在虚拟机的phpstudy上把xdcms部署好,访问虚拟机IP进入xdcms的安装,安装完之后,注意啦,这个时候把安装完成后的源码复制出来,用这个源码进行审计! 因为啊,有些文件啊,是在你安装完CMS之后才会出现的,拿安装之前的CMS去审计,会有些东西找不到的 文件目录如图所示: 到此,我们可以正式开始代码审计啦 大概浏览网站源代码 通过跟读index.php文件(这个CMS的index.php里面文件包含里又是文件包含,一层又一层),跟读到 /system/function/fun.inc.php 文件

drf初识

风流意气都作罢 提交于 2019-12-05 18:10:48
   一.restful规范 在之前的代码习惯中,通常使用一个url对应一个视图函数,现在有了restful规范,就要遵循。简单来说,就是多个url对应一个视图,视图中封装了get,post,put,patch,delete等主要方法。相对于FBV来说更加简单,使用了CBV模式。 1.是一套规则,用于程序之间进行数据交换的约定。 他规定了一些协议,对我们感受最直接的的是,以前写增删改查需要写4个接口,restful规范的就是1 个接口,根据method的不同做不同的操作,比如:get/post/delete/put/patch/delete. 2.除此之外,resetful规范还规定了: - 数据传输通过json 扩展:前后端分离、app开发、程序之间(与编程语言无关) 3.面向资源编程,视网络上一切为资源,因此URL中一般使用名词 4.建议用https代替http 5.URL中体现api   https://www.cnblogs.com/api/xxx.html 6.URL中体现版本   https://www.cnblogs.com/api/v1/userinfo/ 7.如果有条件的话,在URL后边进行过滤   https://www.cnblogs.com/api/v1/userinfo/?page=1&category=2 8.返回给用户状态码 - 200,成功 -

Django之视图层与模板层

做~自己de王妃 提交于 2019-12-05 17:48:17
目录 一、视图层 1.1请求对象(HttpRequest) 1.1.1HttpRequest请求对象常用属性 1.2响应对象(HttpResponse) 1.2.1HttpResponse() 1.2.2render() 1.2.3redirect() 1.3JsonResponse 1.4FBV与CBV 1.4.1FBV 1.4.2CBV 1.5CBV源码 二、模板层 2.1模板语法 2.1.1模板语法的取值 2.1.2模板传值 2.2过滤器 2.3标签 2.3.1for标签 2.3.2if标签 2.3.3with标签 2.3.4csrf_token标签 2.4自定义过滤器和标签 2.4.1自定义前的准备 2.4.2自定义过滤器 2.4.3自定义标签 2.4.4自定义inclusion_tag 2.5模板的继承和导入 2.5.1继承 2.5.2模板的导入 一、视图层 视图函数(类)简称为视图,就是一个普通的函数(类),它的功能是接收web请求,并返回web响应. 研究视图函数需要熟练掌握请求对象(HttpRequest)和相应对象(HttpResponse) 1.1请求对象(HttpRequest) 1.1.1HttpRequest请求对象常用属性 #part1 一.HttpRequest.method 获取请求使用的方法(值为纯大写的字符串格式)。例如:"GET"、"POST"