RESTful web服务:我如何在不打印出其他数据的情况下获取这些数据?



我只想从menSize和它的价格中获取数据,但它一直打印出womenSize,即使它没有添加任何内容。

我需要分开menSize类和womenSize类或有任何方法来修复它:

这是我的Getter和Setter的鞋子类:

private double menSize;

private double price; 
private double womenSize; 
这是我的ShoesController类:

@GetMapping("menshoes"public List getMenShoes() {

List<Shoes> menShoesList = new ArrayList<>(); // Create ArrayList holding men sizes
while (true) {
for (double i = 2; i <= 12; i += 0.5) { // set sizes : 2 , 2.5 ,... until 12
Shoes shoe = new Shoes();
shoe.setMenSize(i);
shoe.setPrice(4); // Set price to $4
menShoesList.add(shoe); // add size to ArrayList
}
return menShoesList;
}
}
@GetMapping("womenshoes")
public List<Shoes> getWomenShoes() {
List<Shoes> womenShoesList = new ArrayList<>(); // Create ArrayList holding women sizes
while (true) {
for (double i = 5; i <= 12; i += 0.5) { // set sizes : 5, 5.5 , ... until 12
Shoes shoe2 = new Shoes();
shoe2.setWomenSize(i);
shoe2.setPrice(4); // Set price to $4
womenShoesList.add(shoe2); // add size to ArrayList
}
return womenShoesList;
}
}

当我搜索localhost:8080/menshoes时的输出是(我只举3个例子):

[{"menSize" 2.0,"price":"4.00美元","womenSize": 0.0},{"menSize" 2.5,"price":"4.00美元","womenSize": 0.0},{"menSize" 3.0,"price":"4.00美元","womenSize": 0.0}

我看到2个选项:要么有2个类,每种鞋一个或者在类中定义类型,没有两种大小,其中一种总是空的。由于可能的类型数量有限,我建议您使用enum对类型进行建模。

public enum ShoeType {
MEN,
WOMEN
}
public class Shoe {
private ShoeType type;
private double size;
private double price;
// getter, setter, constructor...
}

注释示例:我强烈建议只使用一种与您建议的相似的[类]类型。

默认构造函数

public class Shoes
{
this(null, 0, 0);
}

重载构造函数

public class Shoes(String gender, double size, double price)
{
this.gender = gender;
this.size = size;
this.price = price;
}

相关内容

最新更新