Skip to content

Commit 4214047

Browse files
springbootdemo-tomcat11: add no-arg constructors to LoginRequest and TestwsRequest
Moshi (JsonRpcMessageReceiver) requires a no-arg constructor for POJO deserialization. Without one, Moshi falls back to Unsafe.allocateInstance() leaving fields null — LoginRequest.getEmail() returned null causing a 400, and TestwsRequest.getMessagein() returned null causing ESAPI validation to reject with FAILED status. Mirrors the same fix already in the WildFly springbootdemo module. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent bb40cf3 commit 4214047

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/main/java/userguide/springboot/webservices/TestwsRequest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public void setMessagein(String messagein) {
3131
this.messagein = messagein;
3232
}
3333

34+
/** No-arg constructor required by Moshi (JsonRpcMessageReceiver) for deserialization. */
35+
public TestwsRequest() {}
36+
3437
public TestwsRequest(String messagein) {
3538
this.messagein = messagein;
3639
}

modules/samples/userguide/src/userguide/springbootdemo-tomcat11/src/main/java/userguide/springboot/webservices/secure/LoginRequest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,9 @@ public void setCredentials(String credentials) {
4242
}
4343

4444

45+
/** No-arg constructor required by Moshi (JsonRpcMessageReceiver) for deserialization. */
46+
public LoginRequest() {}
47+
4548
public LoginRequest(String email, String credentials) {
4649
this.email = email;
4750
this.credentials = credentials;

0 commit comments

Comments
 (0)