- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Spring-boot 2.2.1 上有 REST 服务器,使用 Spring-web 5.2.3 连接 mysql 和 JavaFX 客户端。我想从客户端向服务器发送http请求。对于 GET 方法效果很好,但对于 POST 方法效果不佳。
我的实体:
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Entity(name = "CANDIDATES")
public class Candidate {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String lastname;
@Enumerated(EnumType.STRING)
private Education education;
private String placeOfResidence;
@ManyToMany(cascade = CascadeType.PERSIST)
@JoinTable(
name = "JOIN_VOTERESULTS_CANDIDATES",
joinColumns = {@JoinColumn(name = "CANDIDATES_ID", referencedColumnName = "ID")},
inverseJoinColumns = {@JoinColumn(name = "VOTERESULTS_ID",referencedColumnName = "ID")}
)
private List<VoteResult> voteResults;
@ManyToOne
@JoinColumn(name = "ELECTION_LISTS_ID")
private ElectionList electionList;
@ManyToOne
@JoinColumn(name = "ELECTORAL_PARTIES_ID")
private ElectoralParty electoralParty;
}
CandidateDto 具有相同的变量。这是我的 POST Controller :
@PostMapping(value = "/createCandidate")
public void createCandidate(@Valid CandidateDto candidateDto) {
service.createCandidate(candidateDto);
}
以下是在客户端创建此对象并将带有正文的 POST 请求发送到服务器的方法:
RestTemplate restTemplate = new RestTemplate();
restTemplate.setMessageConverters(getMessageConverters());
URI url = UriComponentsBuilder.fromHttpUrl(URL + "/createCandidate")
.queryParam("id", candidate.getId())
.queryParam("name", candidate.getName())
.queryParam("lastname", candidate.getLastname())
.queryParam("education", candidate.getEducation())
.queryParam("placeOfResidence", candidate.getPlaceOfResidence())
.queryParam("voteResults", candidate.getVoteResults())
.queryParam("electionList", candidate.getElectionList())
.queryParam("electoralParty", candidate.getElectoralParty()).build().encode().toUri();
restTemplate.postForObject(url, null, Candidate.class);
当我删除带有 electoralParty、electionList 和 voteResults 的 queryParams 时,一切都很好。但是使用这些参数,我在服务器中出现错误:
Field error in object 'candidateDto' on field 'education': rejected value [zawodowe]; codes [typeMismatch.candidateDto.education,typeMismatch.education,typeMismatch.com.pk.electionappserver.domain.Education,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [candidateDto.education,education]; arguments []; default message [education]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'com.pk.electionappserver.domain.Education' for property 'education'; nested exception is org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [com.pk.electionappserver.domain.Education] for value 'zawodowe'; nested exception is java.lang.IllegalArgumentException: No enum constant com.pk.electionappserver.domain.Education.zawodowe]
Field error in object 'candidateDto' on field 'electionList': rejected value []; codes [typeMismatch.candidateDto.electionList,typeMismatch.electionList,typeMismatch.com.pk.electionappserver.domain.dto.ElectionListDto,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [candidateDto.electionList,electionList]; arguments []; default message [electionList]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'com.pk.electionappserver.domain.dto.ElectionListDto' for property 'electionList'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'com.pk.electionappserver.domain.dto.ElectionListDto' for property 'electionList': no matching editors or conversion strategy found]
Field error in object 'candidateDto' on field 'electoralParty': rejected value []; codes [typeMismatch.candidateDto.electoralParty,typeMismatch.electoralParty,typeMismatch.com.pk.electionappserver.domain.dto.ElectoralPartyDto,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [candidateDto.electoralParty,electoralParty]; arguments []; default message [electoralParty]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'com.pk.electionappserver.domain.dto.ElectoralPartyDto' for property 'electoralParty'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'com.pk.electionappserver.domain.dto.ElectoralPartyDto' for property 'electoralParty': no matching editors or conversion strategy found]
Field error in object 'candidateDto' on field 'voteResults': rejected value []; codes [typeMismatch.candidateDto.voteResults,typeMismatch.voteResults,typeMismatch.java.util.List,typeMismatch]; arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [candidateDto.voteResults,voteResults]; arguments []; default message [voteResults]]; default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.List' for property 'voteResults'; nested exception is java.lang.IllegalStateException: Cannot convert value of type 'java.lang.String' to required type 'com.pk.electionappserver.domain.dto.VoteResultDto' for property 'voteResults[0]': no matching editors or conversion strategy found]]
客户端中的错误:
Caused by: org.springframework.web.client.HttpClientErrorException$BadRequest: 400 : [{"timestamp":"2020-01-17T16:17:45.333+0000","status":400,"error":"Bad Request","errors":[{"codes":["typeMismatch.candidateDto.education","typeMismatch.education","typeMismatch.com.pk.electionappserver... (3565 bytes)]
at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:101)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:170)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:112)
at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:785)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:743)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:717)
at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:443)
at com.pk.electionappclient.Controller.ClientController.createCandidate(ClientController.java:36)
at com.pk.electionappclient.Controller.ClientController.addCandidate(ClientController.java:84)
at com.pk.electionappclient.Controller.admin.NewCandidateController.createNewCandidate(NewCandidateController.java:116)
投票结果实体:
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Entity(name = "VoteResults")
public class VoteResult {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne
@JoinColumn(name = "USERS_ID")
private User user;
@ManyToOne
@JoinColumn(name = "ELECTIONS_ID")
private Election election;
@ManyToMany(cascade = CascadeType.PERSIST)
@JoinTable(
name = "JOIN_VOTERESULTS_CANDIDATES",
joinColumns = {@JoinColumn(name = "VOTERESULTS_ID",referencedColumnName = "ID")},
inverseJoinColumns = {@JoinColumn(name = "CANDIDATES_ID", referencedColumnName = "ID")}
)
private List<Candidate> candidates;
private LocalDateTime voteTime;
}
选举列表实体:
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Entity(name = "ELECTION_LISTS")
public class ElectionList {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String description;
@ManyToOne
@JoinColumn(name = "ELECTION_ID")
private Election election;
@ManyToOne
@JoinColumn(name = "CONSTITUENCY_ID")
private Constituency constituency;
@OneToMany(
targetEntity = Candidate.class,
mappedBy = "electionList",
cascade = CascadeType.PERSIST,
fetch = FetchType.LAZY
)
private List<Candidate> candidates;
}
选举党实体:
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Entity(name = "ELECTORAL_PARTIES")
public class ElectoralParty {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
private String description;
@OneToMany(
targetEntity = Candidate.class,
mappedBy = "electoralParty",
cascade = CascadeType.PERSIST,
fetch = FetchType.LAZY
)
private List<Candidate> candidates;
@OneToOne(cascade = CascadeType.PERSIST, fetch = FetchType.LAZY)
@JoinColumn(name = "ELECTORAL_PROGRAMMES_ID")
private ElectoralProgramme electoralProgramme;
}
最佳答案
关于java - 无法将类型 'java.lang.String' 的值转换为所需类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59791794/
在 Tomcat 6/Ubuntu 12.04 上启动 Grails 2.1.0 应用程序时出现以下错误。 Error 500 - Internal Server Error. groovy.lang
在运行 Storm 拓扑时,我收到此错误。拓扑完美运行 5 分钟,没有任何错误,然后失败。我正在使用 Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS as 300 sec i
我有一个 jsp 代码在其中一台机器上运行良好。但是当我复制到另一台机器时,我得到了这个 no such method found 异常。我是 Spring 的新手。有人可以解释我错过了什么吗? 以下
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我的代码在下面给出了一个错误; Exception in thread "main" java.lang.NoSuchMethodError: com/myApp/Client.cypherCBC(L
我正在尝试一个 Restful web 服务示例,所以当我要访问 url 时,我遇到了异常 java.lang.NoSuchMethodError: jersey.repackaged.com.goo
我正在将一个 Spring web 项目转换为一个 Maven 项目,但我收到了这个错误: java.lang.NoSuchMethodError: org.jboss.logging.Logger.
在我的项目中,我有一个像这样的枚举: public enum MyEnum { FIRST(1), SECOND(2); private int value; private MyEnum(int v
我创建了这个简单的示例,用于读取 Linux 正常运行时间: public String getMachineUptime() throws IOException { String[] di
我正在使用 Eclipse,并且正在使用 Java。我的目标是使用 bogoSort 方法对 vector 进行排序在一个 vector (vectorExample)中适应我的 vector 类型,
我正在运行以下查询。它显示一条错误消息。如何解决这个错误? ListrouteList=null; List companyList = session.createS
我有以下模型类: @Entity @Table(name="user_content") @org.hibernate.annotations.NamedQueries({ @org.
我有那个错误。这是我的代码: GmailSettingsService service = new GmailSettingsService(APPLICATION_NAME, DOMAIN_NAME
实际上我在执行我的java程序时遇到了下面提到的错误 Exception in thread "pool-1-thread-1" java.lang.ClassCastException: jav
java.lang.ClassCastException: java.lang.Float cannot be cast to java.lang.String 我在以下代码中遇到此异常: Strin
我正在尝试从 linkedhashset 中检索随机元素。下面是我的代码,但它每次都给我异常。 private static void generateRandomUserId(Set userIds
我已经完成了 Android 中的代码: List spinnerArray = new ArrayList(); for (int i = 0; i item = (LinkedTreeMap)
这个问题已经有答案了: Explanation of ClassCastException in Java (12 个回答) 已关闭 6 年前。 我已经编写了 java 到 Json 的代码,同时从页
这个问题在这里已经有了答案: ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn (4 个答案) 关闭 6 年前
我在运行时遇到问题来编译这段代码,这给我一个错误,java.lang.Integer 无法转换为 Java.lang.Double。如果有人帮助我更正此代码,我将非常高兴 double x; pu
我是一名优秀的程序员,十分优秀!