小编Rag*_*kla的帖子

自定义HTTP消息转换器未使用,415 Unsupproted媒体类型

我正在创建一个测试应用程序,以便在传递给控制器​​之前实现从XML String到Employee对象的转换.我不想使用JAXB转换器,因为我的目的是测试自定义HTTP消息转换器,我将在我的实际用例中使用它涉及使用SAX解析器和一些复杂规则进行XML解析.

以下是执行的关键步骤:

  • 创建Employee.java类:域对象
  • 创建EmployeeManagementController.java类:用于管理员工的Spring MVC控制器
  • 创建EmployeeConverter.java:用于将XML字符串转换为Employee对象的自定义转换器.
  • 创建employee-servlet.xml:Spring配置文件
  • 创建web.xml:部署描述符

Employee.java

@Component
@XmlRootElement(name="employee")
@XmlAccessorType(XmlAccessType.FIELD)
public class Employee{

@XmlElement(name="name")
String name;
@XmlElement(name="designation")
String designation;
@XmlElement(name="skill")
String skill;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getSkill() {
return skill;
}
public void setSkill(String skill) {
this.skill = skill;
}

}
Run Code Online (Sandbox Code Playgroud)

EmployeeManagementController.java …

java rest spring spring-mvc

12
推荐指数
1
解决办法
2万
查看次数

Java 8 Different()不调用equals方法

在Java 8中,docs用于distinct()中间操作状态

返回由该流的不同元素组成的流(根据> Object.equals(Object))。对于有序流,选择不同的元素是稳定的(对于重复的元素,该元素首先出现

但是它没有被调用

我的Item类中的Equals方法

@Override
public boolean equals(Object obj) {
    System.out.println(this.name+"<->"+((Item)obj).name);
    return this.name.equals(((Item)obj).name);
}
Run Code Online (Sandbox Code Playgroud)

在数据类中定义数据

public static List<Item> getItemList(){     
    itemData.add(new Item("Orange","Citrus Fruit","Orange",30,true,false));
    itemData.add(new Item("Apple Green","Universal Fruit","Green",60,false,true));
    itemData.add(new Item("Papaya","Wonderful Fruit","Yellow",120,false,true));
    itemData.add(new Item("Papaya","Wonderful Fruit","Green",100,false,true));
    .
    .
    .
    itemData.add(new Item("Strawberry","Citrus Fruit","Red",25,true,false));
    itemData.add(new Item("Sapota","Brown Fruit","Brown",32,false,true));

    return itemData;
}
Run Code Online (Sandbox Code Playgroud)

使用流

Data.getItemList().stream().distinct().forEach(System.out::println)
Run Code Online (Sandbox Code Playgroud)

但我意识到equals方法没有被调用

java lambda java-stream

1
推荐指数
2
解决办法
158
查看次数

标签 统计

java ×2

java-stream ×1

lambda ×1

rest ×1

spring ×1

spring-mvc ×1