Skip to content

Commit 3ad1df5

Browse files
authored
return JSON string in the cookie api (#22)
Co-authored-by: rick <LinuxSuRen@users.noreply.github.com>
1 parent 6d1a315 commit 3ad1df5

4 files changed

Lines changed: 42 additions & 12 deletions

File tree

e2e/test-suite.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ items:
1616
Authorization: "{{ .param.auth }}"
1717
expect:
1818
body: |
19-
{"message":"OK"}
19+
{"message":"OK","data":null}
2020
- name: toLowerWithoutParam
2121
request:
2222
api: /lower
@@ -65,4 +65,17 @@ items:
6565
header:
6666
Authorization: "{{ .param.auth }}"
6767
expect:
68-
body: cookies are empty
68+
bodyFieldsExpect:
69+
message: cookies are empty
70+
- name: have-cookie
71+
request:
72+
api: /cookies/echo
73+
query:
74+
name: name
75+
header:
76+
Authorization: "{{ .param.auth }}"
77+
cookie:
78+
name: rick
79+
expect:
80+
bodyFieldsExpect:
81+
message: rick

src/main/java/io/github/devopsws/demo/model/Message.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package io.github.devopsws.demo.model;
22

3-
public class Message {
3+
import java.util.List;
4+
5+
public class Message<T> {
46
private String message;
7+
private List<T> data;
58

69
// avoid the following error
710
// JSON parse error: Cannot construct instance of
@@ -18,4 +21,12 @@ public String getMessage() {
1821
public void setMessage(String message) {
1922
this.message=message;
2023
}
24+
25+
public List<T> getData() {
26+
return this.data;
27+
}
28+
29+
public void setData(List<T> data) {
30+
this.data = data;
31+
}
2132
}

src/main/java/io/github/devopsws/demo/service/CookieService.java

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,23 +5,28 @@
55
import org.springframework.web.bind.annotation.RestController;
66
import jakarta.servlet.http.Cookie;
77
import jakarta.servlet.http.HttpServletRequest;
8+
import io.github.devopsws.demo.model.Message;
89

910
@RestController
1011
@RequestMapping("/cookies")
1112
public class CookieService {
1213
@GetMapping("/echo")
13-
public String cookie(HttpServletRequest request, String name) {
14-
Cookie[] cookies= request.getCookies();
14+
public Message<?> cookie(HttpServletRequest request, String name) {
15+
Message<String> message = new Message<String>();
16+
Cookie[] cookies = request.getCookies();
1517
if (cookies == null) {
16-
return "cookies are empty";
17-
}
18+
message.setMessage("cookies are empty");
19+
} else {
20+
message.setMessage("not found");
1821

19-
for (int i = 0; i < cookies.length; i++) {
20-
if (cookies[i].getName().equals(name)) {
21-
return cookies[i].getValue();
22+
for (int i = 0; i < cookies.length; i++) {
23+
if (cookies[i].getName().equals(name)) {
24+
message.setMessage(cookies[i].getValue());
25+
break;
26+
}
2227
}
2328
}
2429

25-
return "not found";
30+
return message;
2631
}
2732
}

src/main/java/io/github/devopsws/demo/service/HealthService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ public String health() {
1111
return "OK";
1212
}
1313

14+
@SuppressWarnings("rawtypes")
1415
@GetMapping("/health.json")
15-
public Message healthJSON() {
16+
public Message<?> healthJSON() {
1617
return new Message("OK");
1718
}
1819
}

0 commit comments

Comments
 (0)