【ruoyi-vue】在代码生成的基础上新增自定义接口以及匿名访问测试接口

后端新增自定义接口

使用ruoyi-vue3.8.2

以在总工序表中筛选出所有id与process_name为例,接口名为allProcedureIdsAndNames

如图为其数据库表

如图为其具体字段记录

controller

@RestController
@RequestMapping("/system/aprocedure")
public class AprocedureController extends BaseController
{
    //其他代码

    //其他代码
    
    /**
     * 获取所有工序的 id 和名称
     *
     * @return 包含 id 和名称的工序列表
     */
    @GetMapping("/allProcedureIdsAndNames")
    public List<Aprocedure> getAllProcedureIdsAndNames() {
        return aprocedureService.selectAllProcedureIdsAndNames();
    }
}

service

public interface IAprocedureService 
{
    //其他代码
    //其他代码

    /**
     * 查询所有工序的 id 和名称
     *
     * @return 包含 id 和名称的工序列表
     */
    public List<Aprocedure> selectAllProcedureIdsAndNames();
}

servicelmpl

@Service
public class AprocedureServiceImpl implements IAprocedureService 
{
    //其他代码

    //其他代码


    /**
     * 查询所有工序的 id 和名称
     *
     * @return 包含 id 和名称的工序列表
     */
    @Override
    public List<Aprocedure> selectAllProcedureIdsAndNames() {
        return aprocedureMapper.selectAllProcedureIdsAndNames();
    }

}

mapper.java

public interface AprocedureMapper 
{

    //其他代码
    //其他代码

    public int deleteAprocedureByIds(Long[] ids);

    /**
     * 查询所有工序的 id 和名称
     *
     * @return 包含 id 和名称的工序列表
     */
    public List<Aprocedure> selectAllProcedureIdsAndNames();

}

domain 自定义resultType

用于xml,接口最后返回值的样式

首先在com.ruoyi.system.domain,创建java类ProcedureInfo,添加对应get和setter方法,如下列代码

package com.ruoyi.system.domain;

public class ProcedureInfo {
    private Long id;
    private String processName;

    // getters and setters...

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getProcessName() {
        return processName;
    }

    public void setProcessName(String processName) {
        this.processName = processName;
    }
}

mapper.xml

<mapper namespace="com.ruoyi.system.mapper.AprocedureMapper">

//其他代码

//其他代码

    <select id="selectAllProcedureIdsAndNames" resultType="ProcedureInfo">
        SELECT id, process_name AS processName FROM aprocedure
    </select>
    
</mapper>

匿名访问测试接口

首先找到src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@Override
protected void configure(HttpSecurity http) throws Exception {
    httpSecurity
        // ...其他配置...
        // ...其他配置...



        .authorizeRequests() //配置请求权限

            .antMatchers("/system/aprocedure/allProcedureIdsAndNames").permitAll()  // 允许匿名访问这个接口


            .anyRequest().authenticated()  // 其他请求需要认证
        // ...其他配置...
        // ...其他配置...

}

postman测试

前端使用接口

api设置

ruoyi-ui/src/api/system/aprocedure.js

新增接口及调用示例

// 调用新增的接口来获取所有工序的 id 和名称
function getAllAprocedureIdAndName() {
  return request({
    url: '/system/aprocedure/allIdAndName',
    method: 'get'
  })
}

// 调用示例
getAllAprocedureIdAndName().then(response => {
  // 处理响应数据
  console.log(response.data);
}).catch(error => {
  // 处理错误
  console.error('获取工序 ID 和名称失败:', error);
});

页面调用

ruoyi-ui/src/views/system/aprocedure/index.vue

最终返回在aprocedureListIdAndName中

getProcedureList() {
  this.loading = true;
  getAllAprocedureIdAndName().then(response => {
    this.aprocedureListIdAndName= response.data;  // 使用返回的数据
    this.total = response.data.length;  // 使用返回的数据的长度作为总数
    this.loading = false;
  }).catch(error => {
    console.error('获取工序 ID 和名称失败:', error);
    this.loading = false;
  });
}

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值