@DeleteMapping类型的接口访问的时候403 Forbidden

Blade 未结 2 160
kaikai_sk
kaikai_sk 2025-09-04 10:46

一、该问题的重现步骤是什么?

  1.   我有如下的一个Controller类和一个接口。 

@Slf4j
@RestController
@RequestMapping("/termite/survey/dike-units")
@Api(tags = "堤防工程单元管理")
public class DikeProjectUnitController {
    @Autowired
    private IDikeProjectUnitService dikeProjectUnitService;
    @Autowired
    private ITbResDykeService dikeService;

    /**
     * 删除
     *
     * @param guid
     * @return
     */
    @PostMapping("/deleteById")
    @ApiOperation("删除记录")
    public R delete(@RequestParam Long guid) {
       try {
          return R.data(dikeProjectUnitService.removeById(guid));
       } catch (Exception e) {
          log.error(getStackString(e));
          return R.data(false);
       }
    }
}

2.  当我将接口声明成为@PostMapping的时候,接口是正常工作的。 如果我将接口声明成@DeleteMapping的时候,前端访问接口的时候会报出403 Forbidden的错误。 

3. 我知道是权限的问题。 但是没有找到哪里可以配置或者控制。 


二、你期待的结果是什么?实际看到的又是什么?


期望结果: 当我使用delete类型的rest接口进行访问的时候, 接口功能正常。 

实际结果: 403 Forbidden


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


bladex 2.1.x 

Java jdk版本: Java 11

操作系统: 国产麒麟系统, 类似于Linux。 这个问题应该和系统无关。 


四、请提供详细的错误堆栈信息,这很重要。


前端直接报出 403。  然后我看了gateway的日志, 好像是没有这个接口的访问记录(这也是一个我奇怪的地方)。 


五、若有更多详细信息,请在下面提供。


暂无。 

2条回答
  •  admin
    admin (楼主)
    2025-09-04 11:18

    详细错误信息是什么,参数格式是否传对,前端axios的request方法有没有指定delete方法

提交回复