gpt4 book ai didi

swagger - swagger 的多态性未按预期工作

转载 作者:行者123 更新时间:2023-12-02 18:25:56 56 4
gpt4 key购买 nike

我使用的是 springfox 版本 2.9.2 和 swagger 注释 1.5.x。 ApiModel 注释支持鉴别器、子类型和父属性,这些是使多态性工作所需的,但我没有看到生成的正确的 apidocs 来启用多态性。

这是我带注释的代码。

@RestController
@RequestMapping("/api/vehicles")
public class VehicleController {
private static final Logger LOGGER = LoggerFactory.getLogger(VehicleController.class);

@PostMapping(consumes = {MediaType.APPLICATION_JSON_UTF8_VALUE})
void post(@RequestBody Vehicle anyVehicle) {
LOGGER.info("Vehicle : {}", anyVehicle);
}
}

@ApiModel(discriminator = "type", subTypes = {Car.class, Bike.class})
public class Vehicle {
String brand;
String type;

public String getBrand() {
return brand;
}

public void setBrand(String brand) {
this.brand = brand;
}

public String getType() {
return type;
}

public void setType(String type) {
this.type = type;
}
}


@ApiModel(parent = Vehicle.class)
public class Car extends Vehicle {
int noOfDoors;
boolean powerWindows;

public int getNoOfDoors() {
return noOfDoors;
}

public void setNoOfDoors(int noOfDoors) {
this.noOfDoors = noOfDoors;
}

public boolean isPowerWindows() {
return powerWindows;
}

public void setPowerWindows(boolean powerWindows) {
this.powerWindows = powerWindows;
}
}

@ApiModel(parent = Vehicle.class)
public class Bike extends Vehicle {
boolean pillion;

public boolean isPillion() {
return pillion;
}

public void setPillion(boolean pillion) {
this.pillion = pillion;
}
}

生成文档时基本上显示一个端点,该端点处理 POST 请求并采用车辆作为模型。

This is how the generated UI looks

我在这里所做的事情应该有效吗?有人可以给我指出一个 SpringFox 的工作示例吗?

最佳答案

Swagger UI 尚不支持鉴别器。您可以按照以下问题获取状态更新:

Discriminator does not switch schema
subTypes not displayed in model

关于swagger - swagger 的多态性未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54524723/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com