多态工具类——来完成微服务接口响应

多态工具类——来完成微服务接口响应
使用工具类来完成接口响应,可以简化开发代码,让人阅读起来更加流畅。

先上代码

package com.qut.base;

import org.springframework.stereotype.Component;

import com.qut.constants.Constants;

import lombok.Data;


@Data
public class BaseApiService<T> {

    public BaseResponse<T> setResultError(Integer code, String msg) {
        return setResult(code, msg, null);
    }

    /**
     * 返回错误,可以传msg
     *
     * @param msg
     * @return
     */
    public BaseResponse<T> setResultError(String msg) {
        return setResult(Constants.HTTP_RES_CODE_500, msg, null);
    }

    /***
     * 返回成功,可以传data值
     * @param data
     * @return
     */
    public BaseResponse<T> setResultSuccess(T data) {
        return setResult(Constants.HTTP_RES_CODE_200, Constants.HTTP_RES_CODE_200_VALUE, data);
    }

    /**
     * 返回成功,沒有data值
     *
     * @return
     */
    public BaseResponse<T> setResultSuccess() {
        return setResult(Constants.HTTP_RES_CODE_200, Constants.HTTP_RES_CODE_200_VALUE, null);
    }


    /**
     * 通用封装 通用封装
     *
     * @param code
     * @param msg
     * @param data
     * @return
     */

    public BaseResponse<T> setResult(Integer code, String msg, T data) {
        return new BaseResponse<T>(code, msg, data);
    }

}
/*
-----------------------------------两个类的分割线
*/
package com.qut.base;

import lombok.Data;


@Data
public class BaseResponse<T> {

	/**
	 * 返回码
	 */
	private Integer code;
	/**
	 * 消息
	 */
	private String msg;
	/**
	 * 返回
	 */
	private T data;
	// 分页

	public BaseResponse() {

	}

	public BaseResponse(Integer code, String msg, T data) {
		super();
		this.code = code;
		this.msg = msg;
		this.data = data;
	}

}
/*
常量定义类
*/
package com.qut.constants;

public interface Constants {
    // 响应请求成功
    String HTTP_RES_CODE_200_VALUE = "success";
    // 系统错误
    String HTTP_RES_CODE_500_VALUE = "fail";
    // 响应请求成功code
    Integer HTTP_RES_CODE_200 = 200;
    // 系统错误
    Integer HTTP_RES_CODE_500 = 500;

}

如何使用该类

使用的时候,直接继承该类即可,例如下面代码:

public class ServiceImpl extends BaseApiService  {

    @Override
    public BaseResponse<String> addInfo(String appId, String appPwd) {
        if(StringUtils.isEmpty(appId)){
            return setResultError("id不能为空");
        }

        return setResultSuccess("成功");
    }
    public BaseResponse<String> test(String testId){
        return setResultError("dd");
    }

}
### 如何建立与MongoDB连接 为了成功建立与MongoDB连接,通常需要完成以下几个方面的配置和操作: #### 1. 连接字符串的定义 MongoDB连接字符串是一个 URI 格式的地址,用于指定客户端如何找到并连接MongoDB 实例。标准的连接字符串格式如下所示[^2]: ```plaintext mongodb://[username:password@]host1[:port1][,host2[:port2],...]/[defaultDatabase]?[options] ``` 如果是在本地运行 MongoDB,默认情况下可以使用以下简单的连接字符串: ```javascript const uri = 'mongodb://localhost:27017'; ``` #### 2. 使用 Node.js 或 Python 等编程语言实现连接 以下是通过 JavaScript (Node.js) 和 Python 分别连接 MongoDB 的示例代码。 ##### Node.js 示例 ```javascript // 导入 MongoDB 驱动程序 const { MongoClient } = require('mongodb'); async function main() { const uri = 'mongodb://localhost:27017'; // 替换为实际的连接字符串 const client = new MongoClient(uri); try { await client.connect(); console.log("已成功连接至服务器"); // 执行其他操作... } catch (error) { console.error("无法连接至服务器", error); } finally { await client.close(); // 关闭连接 } } main().catch(console.error); ``` ##### Python 示例 ```python from pymongo import MongoClient def connect_to_mongodb(): uri = "mongodb://localhost:27017" # 替换为实际的连接字符串 client = MongoClient(uri) try: db_list = client.list_database_names() print(f"当前数据库列表: {db_list}") except Exception as e: print(f"发生错误: {e}") connect_to_mongodb() ``` #### 3. Spark 中的 MongoDB 连接 当使用 Apache Spark 处理 MongoDB 数据时,可以通过 `--conf` 参数设置连接选项。例如,在提交 Spark 应用程序时,可以这样指定 MongoDB 输出 URI[^3]: ```bash spark-submit --master local \ --conf "spark.mongodb.input.uri=mongodb://127.0.0.1/test.myCollection?readPreference=primaryPreferred" \ --conf "spark.mongodb.output.uri=mongodb://127.0.0.1/test.myCollection" \ your_spark_job.py ``` #### 4. 常见问题及其解决方法 - **Q:** 如果遇到 “connection refused” 错误怎么办? - **A:** 检查 MongoDB 是否正在运行以及端口是否被防火墙阻止。默认情况下,MongoDB 监听的是 27017 端口[^1]。 - **Q:** 当尝试远程连接时失败该怎么办? - **A:** 修改 MongoDB 配置文件中的绑定 IP 地址 (`bindIp`) 设置,允许外部访问,并确保网络策略支持该请求。 - **Q:** 用户认证失败是什么原因引起的? - **A:** 可能是因为用户名或密码不匹配,或者未启用身份验证模式。确认已在启动 MongoDB 服务前初始化用户角色权限。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值