发布一个开源的新闻api(整理后就开源)

目录

说明:

基础说明

其他说明:

通用接口:

登录:

注册:

更改密码(需要token)

更换头像(需要token)

获取用户列表(需要token):

上传文件(5000端口):

获取文件(5000端口)源码文件,db文件均不能获取:

验证token(需要token):

获取系统时间:

文件接口(需要用前面获取文件的接口访问):

公告:

App介绍:

视频类新闻和文章类新闻的个数(扇形图表分析):

视频类前十文章的总得分、阅读量、点赞量、评论量数据(柱状图表分析):

一周内文章总数趋势数据(折线图表分析):

新版apk地址:

新闻类接口:

新闻列表:

点赞新闻(需要token):

取消点赞新闻(需要token):

发布新闻(需要token):

获取新闻分类下所有新闻:

关键字搜索新闻:

获取热门新闻:

获取轮播图:

获取用户发布的列表(需要token):

获取随机视频:

获取用户点赞的列表(需要token):

API运行和postman测试图:

​编辑 

关于开源:将在源码全部整理结束后开源,大家可以前往222.187.232.63:39999体验demo版本

点名表扬


说明:

首先先放出基于api写的app

 

 

基础说明

*部分接口需要token,即头里加入Authorization字段,token通过登录json获取

Demo api地址: 222.187.232.63:39999

Demo 文件管理地址: 222.187.232.63:5000

例如获取新闻轮播图:http://222.187.232.63:39999/news/banner

其他说明:

代码量前后端合计约6k行,较轻量

Token加入:Head里加入Authorization参数

响应参数likearray返回的是一个类似数组的字符串。需要获取后手动用split()函数去切割

由于部分数据来自网络,部分数据来自本地,本地路径考虑可移植性,没有写入完整路径,需要手动判定图片是否带有http://或https://

开发者说明:

此app前后端完全开源,前端采用java android编写,后端使用python,代码量约5k,较轻量
默认api地址为:127.0.0.1+端口号39999,文件访问地址:127.0.0.1+端口号5000
可以通过/libs/Service_Utils.py进行修改ip地址和api端口号
后端通过python编写,使用httpserver + Flask框架(主要处理文件)处理http请求
使用jwt进行动态授权token,需要获取用户,例如点赞、评论均需要传token获取用户
大部分数据存入sqlite数据库,部分数据例如公告以文件方式存储,便于修改
python打包数据可能是数据传输问题,有时候会少掉一个},可以通过此段代码解决这个问题
public static String verjson(String jsontext) {
        try {
            JSONObject jsonObject=new JSONObject(jsontext);
            return jsontext;
        } catch (JSONException e) {
            return jsontext +"}";
        }
    }

后端逻辑我懒得改了修改密码,只要传入token就可以修改,需要前端写验证(其实也不用,因为一般只有登录才能拿到token)



接下来是api文档:

通用接口:

登录:

接口名:/login

请求方式:post

参数:

        username:用户名

        password:密码


注册:

接口名:/Reg

请求方式:post

参数:

        username:用户名

        password:密码

        avater:头像


更改密码(需要token)

接口名:/update_password

请求方式:post    

参数:

        password:密码


更换头像(需要token)

接口名:/update_avatar

请求方式:post    

参数:

        avater:头像


获取用户列表(需要token):

接口名:/personlist

请求方式:post    


上传文件(5000端口):

接口名:/upload

请求方式:post

参数:

        file:文件


获取文件(5000端口)源码文件,db文件均不能获取:

接口名:/路径名

请求方式:get


验证token(需要token):

接口名:/vertoken

请求方式:get


      

获取系统时间:

接口名:/gettime

请求方式:get


文件接口(需要用前面获取文件的接口访问):

公告:

接口名:/profile/notfication

请求方式:get


App介绍:

接口名:/profile/instructio

请求方式:get


视频类新闻和文章类新闻的个数(扇形图表分析):

接口名:/profile/percent

请求方式:get


视频类前十文章的总得分、阅读量、点赞量、评论量数据(柱状图表分析):

接口名:/profile/percent

请求方式:get


一周内文章总数趋势数据(折线图表分析):

接口名:/profile/trend

请求方式:get


新版apk地址:

接口名:/docs/newsapp.apk

请求方式:get


新闻类接口:

新闻列表:

接口名:/news/list

请求方式:get

参数(默认20一页):

        pagenum:从哪页开始

        pagenum:显示大小


点赞新闻(需要token):

接口名:/news/like

请求方式:get

参数(默认20一页):

        Id:新闻的id


取消点赞新闻(需要token):

接口名:/news/unlike

请求方式:get

参数(默认20一页):

        Id:新闻的id


发布新闻(需要token):

接口名:/news/create

请求方式:post

参数(如果要传视频type写视频,content写地址):

        title:标题

        content:正文

        type:类型

        cover:图像


获取新闻分类下所有新闻:

接口名:news/type=值

请求方式:get


关键字搜索新闻:

接口名:news/search=值

请求方式:get


获取热门新闻:

接口名:news/hot

请求方式:get


获取轮播图:

接口名:news/banner

请求方式:get


获取用户发布的列表(需要token):

接口名:news/pushlist

请求方式:get


获取随机视频:

接口名:/randomvideo

请求方式:get


获取用户点赞的列表(需要token):

接口名:news/likelist

请求方式:get


获取评论:

接口名:news/likelist

请求方式:get

参数:

        Id:视频/新闻的id号


API运行和postman测试图:

        

 

关于开源:将在源码全部整理结束后开源,大家可以前往222.187.232.63:39999体验demo版本


点名表扬

感谢以下搬运工帮我宣传文章

 http://element-ui.cn/article/show-1494297.aspx

https://www.ngui.cc/article/show-1153128.html

https://www.lmlphp.com/user/629051

https://www.ppmy.cn/news/628760.html

https://www.lmlphp.com/user/629939/article

防盗:

本文由福州职业技术学校 软件技术 温辉  qq:2151335401,3135144152编写

欢迎搬运,请复制上一行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/44396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AlexNet阅读笔记

ImageNet classification with deep convolutional neural networks 原文链接:https://dl.acm.org/doi/abs/10.1145/3065386 中文翻译:https://blog.csdn.net/qq_38473254/article/details/132307508 使用深度卷积神经网络进行 ImageNet 分类 摘要 大…

【Redis】Redisson分布式锁原理与使用

【Redis】Redisson分布式锁原理与使用 什么是Redisson? Redisson - 是一个高级的分布式协调Redis客服端,能帮助用户在分布式环境中轻松实现一些Java的对象,Redisson、Jedis、Lettuce 是三个不同的操作 Redis 的客户端,Jedis、Le…

【Golang系统开发】搜索引擎(3) 压缩倒排索引表

写在前面 假设我们的数据集中有 800000 篇文章,每篇文章有 200 词条,每个词条有6个字符,倒排记录数目是 1 亿。那么如果我们倒排索引表中单单记录文档id,不记录文档内的频率和偏移信息。 那么 文档id 的长度就必须是 l o g 2 8…

【不带权重的TOPSIS模型详解】——数学建模

目录索引 定义:问题引入:不合理之处:进行修改: 指标分类:指标正向化:极小型指标正向化公式:中间型指标正向化公式:区间型指标正向化公式: 标准化处理(消去单位)&#xff…

基于Java/springboot铁路物流数据平台的设计与实现

摘要 随着科学技术的飞速发展,社会的方方面面、各行各业都在努力与现代的先进技术接轨,通过科技手段来提高自身的优势,铁路物流数据平台当然也不能排除在外,从文档信息、铁路设计的统计和分析,在过程中会产生大量的、各…

浙大数据结构第八周之08-图7 公路村村通

题目详情: 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本。 输入格式: 输入数据包括城镇数目正整数N(≤1000)和候选道路数目M&#xff08…

【C++】模板进阶

🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风…

华为PPPOE配置实验

华为PPPOE配置实验 网络拓扑图拓扑说明电信ISP设备配置用户拨号路由器配置查看是否拨上号是否看不懂? 看不懂就对了,只是记录一下命令。至于所有原理,等想写了再写 网络拓扑图 拓扑说明 用户路由器用于模拟家用拨号路由器,该设备…

最新AI系统ChatGPT程序源码/支持GPT4/自定义训练知识库/GPT联网/支持ai绘画(Midjourney)+Dall-E2绘画/支持MJ以图生图

一、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧&#xff01…

自动执行探索性数据分析 (EDA),更快、更轻松地理解数据

一、说明 EDA是 exploratory data analysis (探索性数据分析 )的缩写。所谓EDA就是在数据分析之前需要对数据进行以此系统性研判,在这个研判后,得到基本的数据先验知识,在这个基础上进行数据分析。本文将在R语言和python语言的探索性处理。 摄…

K8S系列四:服务管理

写在前面 本文是K8S系列第四篇,主要面向对k8s新手同学。阅读本文需要读者对k8s的基本概念,比如Pod、Deployment、Service、Namespace等基础概念有所了解,尚且不了解的同学推荐先阅读本系列的第一篇文章《K8S系列一:概念入门》[1]…

JVM——分代收集理论和垃圾回收算法

一、分代收集理论 1、三个假说 弱分代假说:绝大多数对象都是朝生夕灭的。 强分代假说:熬过越多次垃圾收集过程的对象越难以消亡。 这两个分代假说共同奠定了多款常用的垃圾收集器的一致的设计原则:收集器应该将Java堆划分出不同的区域&…

kafka--kafka的基本概念-topic和partition

一、kafka的基本概念-topic和partition 1、topic (主题 ) topic是逻辑概念 以Topic机制来对消息进行分类的,同一类消息属于同一个Topic,你可以将每个topic看成是一个消息队列。 生产者(producer)将消息发…

利用Jackson封装常用的JsonUtil工具类

在实际开发中,我们对于 JSON 数据的处理,通常有这么几个第三方工具包可以使用: gson:谷歌的fastjson:阿里巴巴的jackson:美国FasterXML公司的,Spring框架默认用的 由于以前一直用习惯了阿里的…

Spring事务和事务传播机制(1)

前言🍭 ❤️❤️❤️SSM专栏更新中,各位大佬觉得写得不错,支持一下,感谢了!❤️❤️❤️ Spring Spring MVC MyBatis_冷兮雪的博客-CSDN博客 在Spring框架中,事务管理是一种用于维护数据库操作的一致性和…

Mac OS下应用Python+Selenium实现web自动化测试

在Mac环境下应用PythonSelenium实现web自动化测试 在这个过程中要注意两点: 1.在终端联网执行命令“sudo pip install –U selenium”如果失败了的话,可以尝试用命令“sudo easy_install selenium”来安装selenium; 2.安装好PyCharm后新建project&…

DTC 19服务学习1

在UDS(统一诊断服务)协议中,0x19是用于DTC(诊断故障代码)信息的服务。以下是你提到的子服务的功能和作用: 0x01 - 报告DTC按状态掩码。这个子服务用于获取当前存储在ECU中的DTC列表。状态掩码用于过滤DTC&a…

数据可视化-canvas-svg-Echarts

数据可视化 技术栈 canvas <canvas width"300" height"300"></canvas>当没有设置宽度和高度的时候&#xff0c;canvas 会初始化宽度为 300 像素和高度为 150 像素。切记不能通过样式去设置画布的宽度与高度宽高必须通过属性设置&#xff0c;…

对话 4EVERLAND:Web3 是云计算的新基建吗?

在传统云计算的发展过程中&#xff0c;数据存储与计算的中心化问题&#xff0c;对用户来说一直存在着潜在的安全与隐私风险——例如单点故障可能会导致网络瘫痪和数据泄露等危险。同时&#xff0c;随着越来越多 Web3 项目应用的落地&#xff0c;对于数据云计算的性能要求也越来…

对前端PWA应用的部分理解和基础Demo

一、什么是PWA应用&#xff1f; 1、PWA简介 ​ 渐进式Web应用&#xff08;Progressive Web App&#xff09;&#xff0c;简称PWA&#xff0c;是 Google 在 2015 年提出的一种使用web平台技术构建的应用程序&#xff0c;官方认为其核心在于Reliable&#xff08;可靠的&#xf…