在web开发中,后端跨系统访问,在没有客户端的时候,如何测试服务端可用
你好,近期在下刚刚做了一个类似的项目。
自己为A系统的话,我们需要调用B系统的接口,如果是在前端调用的话,不免存在跨域的问题,如果在B端解决跨域,又会存在安全的风险。所以,最好解决的方法就是我们在后端通过httpclient等工具类来模拟一个浏览器来进行接口的调用,这时,调用B端的接口进行调试不会像我们自己的项目那样方便了。
接下来我们可以先通过类似于postman这类工具来测试B端服务器的接口。
如下图:
get、post、put、delete、head等常用的请求方式。
通过B端 ip:端口/接口 + 请求方式 来测试接口的返回值的>操纵/p>
我们来模拟一个get携参的请求,下面是json的返回数据
就简单的模拟一个,其他的操作也是类似的。
这样楼主就可以判断B系统的接口等是否可用或者正确等等
最后,感谢楼主的邀请。
BAT的java工程师来回答,这个就是我们写完代码,常见的情况。
我们使用的是前后端分离式开发,因此我们后端开发完除非把前端编译好的文件要过来,否则是完全没有界面可言的,这种时候我常用的自测方式有两种。
自创数据main函数自测
这个是最简单最基础的自测,写完一个功能之后,如果这个功能并不涉及bean等等操作,可以直接自己写一个main函数,然后模拟数据调用这个待测函数,看结果是否符合预期。举个例子,我曾经写过一个json字符串转换的工具类,里面包括从json字符串中提取integer,string,boolean等对象。对于这种工具类的测试,只需要自己创建一些json和非json字符串,然后在main函数中把字符串传给工具类的函数,看看执行结果是否符合预期就好了。
但是有时候,我们会写一些很复杂的功能,简单的模拟数据已经不够了,我们可能需要检查是否能够正常读写数据库,redis,elasticsearch等等其他服务,这个时候,就需要用到下面的方法了。
Postman
这个是一款功能强大的能进行发送http请求的chrome插件。说一句我踩过的坑,安装好之后虽然postman以独立的形式存在电脑中,但是如果chrome崩了,postman也是不能用了的,这二者的绑定关系时刻记心中。
这个插件能够发送get,post,put,delete,head等15种请求(全部请求类型见下图)。而且支持常用url的导入和导出,建组,这对于需要进行回归测试的开发人员来说是非常有意义的。
以我自己建的组为例,我开发完代码后,会在本地IDE里起一个服务,url是以localhost为ip的服务,这就是最基础的自测,因此我把这类url存储为【本地环境】。
之后还会把服务上传到测试环境,测试服务在测试环境是否有问题,因此这类url存储为【测试环境】;除此之外,还有【线上环境】,用来测试上线后是否服务正常。
说回【本地环境】,当我们写完代码,main函数已经不能帮我们自测的时候,就可以把要测试的服务包成一个接口,通过controller开放出来,然后在本地IDE中启动这个web项目,通过postman来调这个接口,查看功能是否执行的符合预期。比如我就封装了一个test/hello的接口,所有需要我自测的功能,我都放到这个接口里测过没问题才会commit到git本地仓库。
以上是后端工程师在没有前端界面的时候自测的方式(之二),如果对你有所帮助,欢迎点赞留言。
我是苏苏思量,来自BAT的java开发工程师,欢迎关注我,每日分享科技类见闻,与我共同进步。
web服务器怎么访问数据库
Web服务器通过建立和管理数据库连接来访问数据库。通常,Web服务器使用特定的编程语言和框架来建立数据库连接,比如使用PHP语言和MySQL数据库。通过建立连接,Web服务器可以发送SQL查询或命令到数据库,获取需要的数据并将其返回给客户端。数据库访问可以通过安全的加密连接来保护数据的传输安全性。同样,应该注意在访问数据库时遵循最佳的安全实践,以防止潜在的安全漏洞。
Web服务器访问数据库通常需要通过数据库连接来实现。首先,服务器端会建立一个到数据库的连接,通常是通过数据库连接池来管理。
然后,通过编程语言提供的数据访问接口,比如PHP的PDO或者Java的JDBC,来执行SQL语句。
服务器端的程序会将用户请求转化为SQL命令,并通过数据库连接发送到数据库服务器。数据库服务器接收到命令后执行操作,并返回结果。
最后,服务器端程序将结果处理后返回给用户,完成了从Web服务器到数据库的访问过程。