Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 91f8abf

Browse files
committed
Applied patch - 7_10_rest_test_jackson
1 parent 06ec16f commit 91f8abf

4 files changed

Lines changed: 40 additions & 0 deletions

File tree

pom.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
<spring.version>5.2.0.RELEASE</spring.version>
2020
<spring-data-jpa.version>2.2.0.RELEASE</spring-data-jpa.version>
21+
<jackson-json.version>2.10.1</jackson-json.version>
2122
<tomcat.version>9.0.27</tomcat.version>
2223

2324
<!-- Logging -->
@@ -203,6 +204,13 @@
203204
<artifactId>spring-webmvc</artifactId>
204205
</dependency>
205206

207+
<!--JSON-->
208+
<dependency>
209+
<groupId>com.fasterxml.jackson.core</groupId>
210+
<artifactId>jackson-databind</artifactId>
211+
<version>${jackson-json.version}</version>
212+
</dependency>
213+
206214
<!--Test-->
207215
<dependency>
208216
<groupId>org.junit.jupiter</groupId>

src/main/java/ru/javawebinar/topjava/model/AbstractBaseEntity.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
package ru.javawebinar.topjava.model;
22

3+
import com.fasterxml.jackson.annotation.JsonAutoDetect;
34
import org.hibernate.Hibernate;
45
import org.springframework.data.domain.Persistable;
56

67
import javax.persistence.*;
78

9+
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.ANY;
10+
import static com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility.NONE;
11+
812
@MappedSuperclass
913
// http://stackoverflow.com/questions/594597/hibernate-annotations-which-is-better-field-or-property-access
1014
@Access(AccessType.FIELD)
15+
@JsonAutoDetect(fieldVisibility = ANY, getterVisibility = NONE, isGetterVisibility = NONE, setterVisibility = NONE)
1116
public abstract class AbstractBaseEntity implements Persistable<Integer> {
1217
public static final int START_SEQ = 100000;
1318

src/main/java/ru/javawebinar/topjava/model/User.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package ru.javawebinar.topjava.model;
22

3+
import com.fasterxml.jackson.annotation.JsonIgnore;
34
import org.hibernate.annotations.BatchSize;
45
import org.hibernate.annotations.Cache;
56
import org.hibernate.annotations.CacheConcurrencyStrategy;
@@ -62,6 +63,7 @@ public class User extends AbstractNamedEntity {
6263

6364
@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")//, cascade = CascadeType.REMOVE, orphanRemoval = true)
6465
@OrderBy("dateTime DESC")
66+
@JsonIgnore
6567
protected List<Meal> meals;
6668

6769
public User() {
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package ru.javawebinar.topjava.web.user;
2+
3+
import org.junit.jupiter.api.Test;
4+
import org.springframework.http.MediaType;
5+
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;
6+
import ru.javawebinar.topjava.web.AbstractControllerTest;
7+
8+
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
9+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
10+
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
11+
import static ru.javawebinar.topjava.UserTestData.ADMIN_ID;
12+
13+
class AdminRestControllerTest extends AbstractControllerTest {
14+
15+
private static final String REST_URL = AdminRestController.REST_URL + '/';
16+
17+
@Test
18+
void get() throws Exception {
19+
mockMvc.perform(MockMvcRequestBuilders.get(REST_URL + ADMIN_ID))
20+
.andExpect(status().isOk())
21+
.andDo(print())
22+
// https://jira.spring.io/browse/SPR-14472
23+
.andExpect(content().contentTypeCompatibleWith(MediaType.APPLICATION_JSON));
24+
}
25+
}

0 commit comments

Comments
 (0)