http 500状态码「建议收藏」

http请求返回500状态码,整体原因是:服务器内部错误。这个原因太过笼统,看了和没看直接懵逼。今天遇到这么一个崩溃的问题,这么大的范围,怎么找呢?然后,静下来打开思路,慢慢想一下,分析过程:1.客户端请求服务端的时候,返回500,首先服务端的请求发出去了,并且返回了500,错误定位到服务端。2.服务端里面代码竟然没有执行任何打印语句,说明还没有执行到逻辑,就已经出错了。3.这边服务

大家好,又见面了,我是你们的朋友全栈君。

http请求返回500状态码,整体原因是:服务器内部错误。这个原因太过笼统,看了和没看直接懵逼。今天遇到这么一个崩溃的问题,这么大的范围,怎么找呢?
然后,静下来打开思路,慢慢想一下,分析过程:
1.客户端请求服务端的时候,返回500,首先服务端的请求发出去了,并且返回了500,错误定位到服务端。
2.服务端里面代码竟然没有执行任何打印语句,说明还没有执行到逻辑,就已经出错了。
3.这边服务端是lua语言写的,在这个文件的开头有这个加载文件的语句

package.path = "../ta/?.lua;../xjnlib/src/?.lua;"..package.path
package.cpath = "../xjnlib/bin/?.so;"..package.cpath

4.首先要保证加载路径是对的。
5.确保第4步,才到这里分析,加载路径对了,在加载过程中,如果出现语法错误的情况,这里就会直接返回500了。示例如下:
这是一个lua的函数里的部分代码:

function _M.pre_order_info(args)
    local datas ={}


     datas = {
        front_trans_type = "120",
        trans_amt = string.format("%012d",args.trans_amt),
        pay_type = args.pay_type,
        xjn_code = args.xjn_code,
        req_date_time = req_time, --交易时间YYYYMMDDhhmmss
        --xjn_id = args.xjn_id ,--1内部终端号
        --term = args.term , --2内部终端流水
        in_type = IN_TYPE[args.pay_type],--接入方式
        mcssn = args.mcssn,
        account_id = args.account_id,
    }
    if args.xjn_id ~= undefined then
       log(m_uuid,"获取预订单信息xjn_id true==>" .. args.xjn_id)
      datas.xjn_id = args.xjn_id , --3内部终端号 此处语法错误
    end

    if args.term ~= undefined then
       log(m_uuid,"获取预订单信息term true==>" .. args.term)
    datas.term = args.term , --4内部终端流水 此处语法错误
    end
end

这里是这样的,上面定义了一个datas的table,在表示1和2处的字段注释掉了,经过下面的if条件判断,添加其字段,这里3和4很显然是从1和2处复制过来的,后面就多了逗号,以至于造成语法错误,导致客户端访问时,出现了500的状态码!去掉3和4处的逗号即可。
6.正确代码如下:

function _M.pre_order_info(args)
    local datas ={}


     datas = {
        front_trans_type = "120",
        trans_amt = string.format("%012d",args.trans_amt),
        pay_type = args.pay_type,
        xjn_code = args.xjn_code,
        req_date_time = req_time, --交易时间YYYYMMDDhhmmss
        --xjn_id = args.xjn_id ,--1内部终端号
        --termn = args.term , --2内部终端流水
        in_type = IN_TYPE[args.pay_type],--接入方式
        mcssn = args.mcssn,
        account_id = args.account_id,
    }
    if args.xjn_id ~= undefined then
            log(m_uuid,"获取预订单信息xjn_id true==>" .. args.xjn_id)
            datas.xjn_id = args.xjn_id  --3内部终端号
    end

    if args.term ~= undefined then
        log(m_uuid,"获取预订单信息term true==>" .. args.term)
        datas.term = args.term  --4内部终端流水
    end
end

实际开发中可能出现的问题千变万化,请根据实际情况找问题所在。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125440.html原文链接:https://javaforall.net

(0)
上一篇 2022年4月5日 下午7:35
下一篇 2022年4月5日 下午8:00


相关推荐

  • 循环队列–C语言实现–数据结构「建议收藏」

    循环队列–C语言实现–数据结构「建议收藏」循环队列–C语言实现–数据结构目录循环队列C语言实现数据结构目录一要求二循环队列三循环队列的算法设计1建立循环队列2置空队列3入队4出队5打印队四程序1程序的结构2程序源码五程序测试1入队列2出队列3打印队列六源程序及封装软件下载下载地址格格是一枚智能专业的本科在校生很愿意和各位大佬交流如果大家有愿意交朋友的可以加格格的QQ4460

    2022年6月2日
    39
  • sql 聚合语句,count的用法「建议收藏」

    sql 聚合语句,count的用法「建议收藏」如要获取result='1'的数量COUNT(CASEWHENresult='1'THENresultEND)SELECT*FROM(

    2022年7月2日
    33
  • 基于java的选课系统课程设计_java学生管理系统界面设计

    基于java的选课系统课程设计_java学生管理系统界面设计Java课程设计_学生选课管理系统需求分析本数据库的用户主要是学生,通过对用户需求的收集和分析,获得用户对数据库的如下要求。1.信息需求学生信息:学号,姓名,性别,专业登陆信息:账号,密码课程信息:课程号,课程名,选课人数,选课容量,任课老师选课信息:课程号,学生学号登录信息:账号、密码2.功能需求系统为学生建立登陆信息,学生进入系统前需要身份验证,用户名、密码输入正确后方可进入系统。在系统中,用户可以在界面中看到本人的基本信息,也可以对课程信息表和个人选课信息表进行查看、以及

    2022年8月31日
    8
  • 用python爬取腾讯招聘网岗位信息保存到表格,并做成简单可视化。(附源码)「建议收藏」

    用python爬取腾讯招聘网岗位信息保存到表格,并做成简单可视化。(附源码)「建议收藏」用python爬取腾讯招聘网岗位信息保存到表格,并做成可视化。代码运行展示开发环境Windows10python3.6开发工具pycharm库numpy、matplotlib、time、xlutils.copy、os、xlwt,xlrd,random开发思路1.打开腾讯招聘的网址右击检查进行抓包,进入网址的时候发现有异步渲染,我们要的数据为异步加载2.构造起始地址:start_url=‘https://careers.tencent.com/tencentcaree

    2022年6月8日
    38
  • pyharm激活码_通用破解码

    pyharm激活码_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    53
  • LeetCode 1533. Find the Index of the Large Integer(二分查找)「建议收藏」

    LeetCode 1533. Find the Index of the Large Integer(二分查找)「建议收藏」文章目录1.题目2.解题1.题目Wehaveanintegerarrayarr,wherealltheintegersinarrareequalexceptforoneintegerwhichislargerthantherestoftheintegers.Youwillnotbegivendirectaccesstothearray,instead,youwillhaveanAPIArrayReaderwhi

    2022年7月25日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号