SlideShare a Scribd company logo
Creating a Facebook Clone - Part XXV
@Controller
@RequestMapping("/user")
@RestController
public class UserWebService {
@Autowired
private UserService users;
@Autowired
private NotificationService notifications;
@ExceptionHandler(LoginException.class)
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public @ResponseBody
ErrorDAO handleLoginException(LoginException e) {
return new ErrorDAO(e.getMessage(), 0);
}
@ExceptionHandler(UnirestException.class)
@ResponseStatus(value=HttpStatus.NOT_FOUND)
public @ResponseBody
ErrorDAO handleEmailException(UnirestException e) {
UserWebService
@Controller
@RequestMapping("/user")
@RestController
public class UserWebService {
@Autowired
private UserService users;
@Autowired
private NotificationService notifications;
@ExceptionHandler(LoginException.class)
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public @ResponseBody
ErrorDAO handleLoginException(LoginException e) {
return new ErrorDAO(e.getMessage(), 0);
}
@ExceptionHandler(UnirestException.class)
@ResponseStatus(value=HttpStatus.NOT_FOUND)
public @ResponseBody
ErrorDAO handleEmailException(UnirestException e) {
UserWebService
@Autowired
private NotificationService notifications;
@ExceptionHandler(LoginException.class)
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public @ResponseBody
ErrorDAO handleLoginException(LoginException e) {
return new ErrorDAO(e.getMessage(), 0);
}
@ExceptionHandler(UnirestException.class)
@ResponseStatus(value=HttpStatus.NOT_FOUND)
public @ResponseBody
ErrorDAO handleEmailException(UnirestException e) {
return new ErrorDAO("Error while sending an email: " + e.
getMessage(), 0);
}
@ExceptionHandler(SignupException.class)
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public @ResponseBody
ErrorDAO handleSignupException(SignupException e) {
return new ErrorDAO(e.getMessage(), 0);
UserWebService
public class ErrorDAO {
private String error;
private int code;
public ErrorDAO() {
}
public ErrorDAO(String error, int code) {
this.error = error;
this.code = code;
}
public String getError() {
return error;
}
public void setError(String error) {
this.error = error;
}
public int getCode() {
return code;
}
public void setCode(int code) {
this.code = code;
}
ErrorDAO
@ExceptionHandler(SignupException.class)
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public @ResponseBody
ErrorDAO handleSignupException(SignupException e) {
return new ErrorDAO(e.getMessage(), 0);
}
@RequestMapping(method=RequestMethod.POST, value="/login")
public @ResponseBody
UserDAO login(@RequestBody UserDAO u) throws LoginException {
return users.login(u.getEmail(), u.getPhone(), u.getPassword());
}
@RequestMapping(method=RequestMethod.GET, value="/refresh")
public UserDAO refreshUser(
@RequestHeader(name="auth", required=true) String auth) {
return users.refreshUser(auth);
}
@RequestMapping(method=RequestMethod.POST, value="/signup")
public @ResponseBody
UserDAO signup(@RequestBody UserDAO user)
throws SignupException, UnirestException {
UserWebService
@ExceptionHandler(SignupException.class)
@ResponseStatus(value=HttpStatus.FORBIDDEN)
public @ResponseBody
ErrorDAO handleSignupException(SignupException e) {
return new ErrorDAO(e.getMessage(), 0);
}
@RequestMapping(method=RequestMethod.POST, value="/login")
public @ResponseBody
UserDAO login(@RequestBody UserDAO u) throws LoginException {
return users.login(u.getEmail(), u.getPhone(), u.getPassword());
}
@RequestMapping(method=RequestMethod.GET, value="/refresh")
public UserDAO refreshUser(
@RequestHeader(name="auth", required=true) String auth) {
return users.refreshUser(auth);
}
@RequestMapping(method=RequestMethod.POST, value="/signup")
public @ResponseBody
UserDAO signup(@RequestBody UserDAO user)
throws SignupException, UnirestException {
UserWebService
@RequestMapping(method=RequestMethod.GET, value="/refresh")
public UserDAO refreshUser(
@RequestHeader(name="auth", required=true) String auth) {
return users.refreshUser(auth);
}
@RequestMapping(method=RequestMethod.POST, value="/signup")
public @ResponseBody
UserDAO signup(@RequestBody UserDAO user)
throws SignupException, UnirestException {
return users.signup(user);
}
@RequestMapping(method=RequestMethod.GET, value="/verify")
public @ResponseBody
String verifyEmailOrPhone(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="code") String code,
@RequestParam(name="email") boolean email) {
if(users.verifyEmailOrPhone(auth, code, email)) {
return "OK";
}
return "ERROR";
}
UserWebService
users.update(user);
return "OK";
}
@RequestMapping(value="/avatar/{id:.+}", method=RequestMethod.GET)
public ResponseEntity<byte[]> getAvatar(
@PathVariable("id") String id) {
byte[] av = users.getAvatar(id);
if(av != null) {
return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG).
body(av);
}
return ResponseEntity.notFound().build();
}
@RequestMapping(method=RequestMethod.GET, value="/set-avatar")
public String setAvatar(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="media", required=true) String mediaId) {
users.setAvatar(auth, mediaId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value
UserWebService
users.update(user);
return "OK";
}
@RequestMapping(value="/avatar/{id:.+}", method=RequestMethod.GET)
public ResponseEntity<byte[]> getAvatar(
@PathVariable("id") String id) {
byte[] av = users.getAvatar(id);
if(av != null) {
return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG).
body(av);
}
return ResponseEntity.notFound().build();
}
@RequestMapping(method=RequestMethod.GET, value="/set-avatar")
public String setAvatar(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="media", required=true) String mediaId) {
users.setAvatar(auth, mediaId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value
UserWebService
users.update(user);
return "OK";
}
@RequestMapping(value="/avatar/{id:.+}", method=RequestMethod.GET)
public ResponseEntity<byte[]> getAvatar(
@PathVariable("id") String id) {
byte[] av = users.getAvatar(id);
if(av != null) {
return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG).
body(av);
}
return ResponseEntity.notFound().build();
}
@RequestMapping(method=RequestMethod.GET, value="/set-avatar")
public String setAvatar(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="media", required=true) String mediaId) {
users.setAvatar(auth, mediaId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value
UserWebService
if(av != null) {
return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG).
body(av);
}
return ResponseEntity.notFound().build();
}
@RequestMapping(method=RequestMethod.GET, value="/set-avatar")
public String setAvatar(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="media", required=true) String mediaId) {
users.setAvatar(auth, mediaId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value
="/send-friend-request")
public String sendFriendRequest(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="userId", required=true) String userId) {
users.sendFriendRequest(auth, userId);
return "OK";
}
UserWebService
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="media", required=true) String mediaId) {
users.setAvatar(auth, mediaId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value
="/send-friend-request")
public String sendFriendRequest(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="userId", required=true) String userId) {
users.sendFriendRequest(auth, userId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value
="/accept-friend-request")
public String acceptFriendRequest(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="userId", required=true) String userId) {
users.acceptFriendRequest(auth, userId);
return "OK";
}
UserWebService
="/accept-friend-request")
public String acceptFriendRequest(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="userId", required=true) String userId) {
users.acceptFriendRequest(auth, userId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value="/notifications")
public List<NotificationDAO> listNotifications(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="page") int page,
@RequestParam(name="size") int size) {
return notifications.listNotifications(auth, page, size);
}
@RequestMapping(method=RequestMethod.POST, value="/contacts")
public String uploadContacts(
@RequestHeader(name="auth", required=true) String auth,
@RequestBody List<ShadowUserDAO> contacts) {
users.uploadContacts(auth, contacts);
return "OK";
}
}
UserWebService
="/accept-friend-request")
public String acceptFriendRequest(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="userId", required=true) String userId) {
users.acceptFriendRequest(auth, userId);
return "OK";
}
@RequestMapping(method=RequestMethod.GET, value="/notifications")
public List<NotificationDAO> listNotifications(
@RequestHeader(name="auth", required=true) String auth,
@RequestParam(name="page") int page,
@RequestParam(name="size") int size) {
return notifications.listNotifications(auth, page, size);
}
@RequestMapping(method=RequestMethod.POST, value="/contacts")
public String uploadContacts(
@RequestHeader(name="auth", required=true) String auth,
@RequestBody List<ShadowUserDAO> contacts) {
users.uploadContacts(auth, contacts);
return "OK";
}
}
UserWebService

More Related Content

PDF
Creating a Whatsapp Clone - Part XIV - Transcript.pdf
PDF
Creating a Facebook Clone - Part XXV - Transcript.pdf
PDF
Creating a Facebook Clone - Part XXVI.pdf
PDF
Creating a Whatsapp Clone - Part XIV.pdf
PDF
Creating a Facebook Clone - Part XXVI - Transcript.pdf
PDF
Creating a Facebook Clone - Part XXII.pdf
PDF
Creating a Facebook Clone - Part XXII - Transcript.pdf
PDF
Creating a Facebook Clone - Part XVII.pdf
Creating a Whatsapp Clone - Part XIV - Transcript.pdf
Creating a Facebook Clone - Part XXV - Transcript.pdf
Creating a Facebook Clone - Part XXVI.pdf
Creating a Whatsapp Clone - Part XIV.pdf
Creating a Facebook Clone - Part XXVI - Transcript.pdf
Creating a Facebook Clone - Part XXII.pdf
Creating a Facebook Clone - Part XXII - Transcript.pdf
Creating a Facebook Clone - Part XVII.pdf

Similar to Creating a Facebook Clone - Part XXV.pdf (12)

ODP
Codemotion appengine
PDF
Creating a Facebook Clone - Part XXI.pdf
PDF
Creating a Facebook Clone - Part XXIII.pdf
PDF
Creating a Whatsapp Clone - Part XIII - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part XIII.pdf
PDF
Creating a Facebook Clone - Part XXVII.pdf
PDF
Creating a Facebook Clone - Part XXVII - Transcript.pdf
PDF
Unit 07: Design Patterns and Frameworks (3/3)
PDF
ICP2014: Pimp dein Apigility
PDF
Creating a Whatsapp Clone - Part XI - Transcript.pdf
PDF
Creating an Uber Clone - Part XII - Transcript.pdf
PDF
API-Entwicklung bei XING
Codemotion appengine
Creating a Facebook Clone - Part XXI.pdf
Creating a Facebook Clone - Part XXIII.pdf
Creating a Whatsapp Clone - Part XIII - Transcript.pdf
Creating a Whatsapp Clone - Part XIII.pdf
Creating a Facebook Clone - Part XXVII.pdf
Creating a Facebook Clone - Part XXVII - Transcript.pdf
Unit 07: Design Patterns and Frameworks (3/3)
ICP2014: Pimp dein Apigility
Creating a Whatsapp Clone - Part XI - Transcript.pdf
Creating an Uber Clone - Part XII - Transcript.pdf
API-Entwicklung bei XING
Ad

More from ShaiAlmog1 (20)

PDF
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
PDF
create-netflix-clone-06-client-ui.pdf
PDF
create-netflix-clone-01-introduction_transcript.pdf
PDF
create-netflix-clone-02-server_transcript.pdf
PDF
create-netflix-clone-04-server-continued_transcript.pdf
PDF
create-netflix-clone-01-introduction.pdf
PDF
create-netflix-clone-06-client-ui_transcript.pdf
PDF
create-netflix-clone-03-server.pdf
PDF
create-netflix-clone-04-server-continued.pdf
PDF
create-netflix-clone-05-client-model_transcript.pdf
PDF
create-netflix-clone-03-server_transcript.pdf
PDF
create-netflix-clone-02-server.pdf
PDF
create-netflix-clone-05-client-model.pdf
PDF
Creating a Whatsapp Clone - Part II.pdf
PDF
Creating a Whatsapp Clone - Part IX - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part II - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part V - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IV - Transcript.pdf
PDF
Creating a Whatsapp Clone - Part IV.pdf
PDF
Creating a Whatsapp Clone - Part I - Transcript.pdf
The Duck Teaches Learn to debug from the masters. Local to production- kill ...
create-netflix-clone-06-client-ui.pdf
create-netflix-clone-01-introduction_transcript.pdf
create-netflix-clone-02-server_transcript.pdf
create-netflix-clone-04-server-continued_transcript.pdf
create-netflix-clone-01-introduction.pdf
create-netflix-clone-06-client-ui_transcript.pdf
create-netflix-clone-03-server.pdf
create-netflix-clone-04-server-continued.pdf
create-netflix-clone-05-client-model_transcript.pdf
create-netflix-clone-03-server_transcript.pdf
create-netflix-clone-02-server.pdf
create-netflix-clone-05-client-model.pdf
Creating a Whatsapp Clone - Part II.pdf
Creating a Whatsapp Clone - Part IX - Transcript.pdf
Creating a Whatsapp Clone - Part II - Transcript.pdf
Creating a Whatsapp Clone - Part V - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV.pdf
Creating a Whatsapp Clone - Part I - Transcript.pdf
Ad

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Approach and Philosophy of On baking technology
PDF
Empathic Computing: Creating Shared Understanding
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
MIND Revenue Release Quarter 2 2025 Press Release
20250228 LYD VKU AI Blended-Learning.pptx
Machine learning based COVID-19 study performance prediction
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Diabetes mellitus diagnosis method based random forest with bat algorithm
Encapsulation_ Review paper, used for researhc scholars
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Approach and Philosophy of On baking technology
Empathic Computing: Creating Shared Understanding
The Rise and Fall of 3GPP – Time for a Sabbatical?
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
MYSQL Presentation for SQL database connectivity
Reach Out and Touch Someone: Haptics and Empathic Computing
Electronic commerce courselecture one. Pdf

Creating a Facebook Clone - Part XXV.pdf

  • 1. Creating a Facebook Clone - Part XXV
  • 2. @Controller @RequestMapping("/user") @RestController public class UserWebService { @Autowired private UserService users; @Autowired private NotificationService notifications; @ExceptionHandler(LoginException.class) @ResponseStatus(value=HttpStatus.FORBIDDEN) public @ResponseBody ErrorDAO handleLoginException(LoginException e) { return new ErrorDAO(e.getMessage(), 0); } @ExceptionHandler(UnirestException.class) @ResponseStatus(value=HttpStatus.NOT_FOUND) public @ResponseBody ErrorDAO handleEmailException(UnirestException e) { UserWebService
  • 3. @Controller @RequestMapping("/user") @RestController public class UserWebService { @Autowired private UserService users; @Autowired private NotificationService notifications; @ExceptionHandler(LoginException.class) @ResponseStatus(value=HttpStatus.FORBIDDEN) public @ResponseBody ErrorDAO handleLoginException(LoginException e) { return new ErrorDAO(e.getMessage(), 0); } @ExceptionHandler(UnirestException.class) @ResponseStatus(value=HttpStatus.NOT_FOUND) public @ResponseBody ErrorDAO handleEmailException(UnirestException e) { UserWebService
  • 4. @Autowired private NotificationService notifications; @ExceptionHandler(LoginException.class) @ResponseStatus(value=HttpStatus.FORBIDDEN) public @ResponseBody ErrorDAO handleLoginException(LoginException e) { return new ErrorDAO(e.getMessage(), 0); } @ExceptionHandler(UnirestException.class) @ResponseStatus(value=HttpStatus.NOT_FOUND) public @ResponseBody ErrorDAO handleEmailException(UnirestException e) { return new ErrorDAO("Error while sending an email: " + e. getMessage(), 0); } @ExceptionHandler(SignupException.class) @ResponseStatus(value=HttpStatus.FORBIDDEN) public @ResponseBody ErrorDAO handleSignupException(SignupException e) { return new ErrorDAO(e.getMessage(), 0); UserWebService
  • 5. public class ErrorDAO { private String error; private int code; public ErrorDAO() { } public ErrorDAO(String error, int code) { this.error = error; this.code = code; } public String getError() { return error; } public void setError(String error) { this.error = error; } public int getCode() { return code; } public void setCode(int code) { this.code = code; } ErrorDAO
  • 6. @ExceptionHandler(SignupException.class) @ResponseStatus(value=HttpStatus.FORBIDDEN) public @ResponseBody ErrorDAO handleSignupException(SignupException e) { return new ErrorDAO(e.getMessage(), 0); } @RequestMapping(method=RequestMethod.POST, value="/login") public @ResponseBody UserDAO login(@RequestBody UserDAO u) throws LoginException { return users.login(u.getEmail(), u.getPhone(), u.getPassword()); } @RequestMapping(method=RequestMethod.GET, value="/refresh") public UserDAO refreshUser( @RequestHeader(name="auth", required=true) String auth) { return users.refreshUser(auth); } @RequestMapping(method=RequestMethod.POST, value="/signup") public @ResponseBody UserDAO signup(@RequestBody UserDAO user) throws SignupException, UnirestException { UserWebService
  • 7. @ExceptionHandler(SignupException.class) @ResponseStatus(value=HttpStatus.FORBIDDEN) public @ResponseBody ErrorDAO handleSignupException(SignupException e) { return new ErrorDAO(e.getMessage(), 0); } @RequestMapping(method=RequestMethod.POST, value="/login") public @ResponseBody UserDAO login(@RequestBody UserDAO u) throws LoginException { return users.login(u.getEmail(), u.getPhone(), u.getPassword()); } @RequestMapping(method=RequestMethod.GET, value="/refresh") public UserDAO refreshUser( @RequestHeader(name="auth", required=true) String auth) { return users.refreshUser(auth); } @RequestMapping(method=RequestMethod.POST, value="/signup") public @ResponseBody UserDAO signup(@RequestBody UserDAO user) throws SignupException, UnirestException { UserWebService
  • 8. @RequestMapping(method=RequestMethod.GET, value="/refresh") public UserDAO refreshUser( @RequestHeader(name="auth", required=true) String auth) { return users.refreshUser(auth); } @RequestMapping(method=RequestMethod.POST, value="/signup") public @ResponseBody UserDAO signup(@RequestBody UserDAO user) throws SignupException, UnirestException { return users.signup(user); } @RequestMapping(method=RequestMethod.GET, value="/verify") public @ResponseBody String verifyEmailOrPhone( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="code") String code, @RequestParam(name="email") boolean email) { if(users.verifyEmailOrPhone(auth, code, email)) { return "OK"; } return "ERROR"; } UserWebService
  • 9. users.update(user); return "OK"; } @RequestMapping(value="/avatar/{id:.+}", method=RequestMethod.GET) public ResponseEntity<byte[]> getAvatar( @PathVariable("id") String id) { byte[] av = users.getAvatar(id); if(av != null) { return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG). body(av); } return ResponseEntity.notFound().build(); } @RequestMapping(method=RequestMethod.GET, value="/set-avatar") public String setAvatar( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="media", required=true) String mediaId) { users.setAvatar(auth, mediaId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value UserWebService
  • 10. users.update(user); return "OK"; } @RequestMapping(value="/avatar/{id:.+}", method=RequestMethod.GET) public ResponseEntity<byte[]> getAvatar( @PathVariable("id") String id) { byte[] av = users.getAvatar(id); if(av != null) { return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG). body(av); } return ResponseEntity.notFound().build(); } @RequestMapping(method=RequestMethod.GET, value="/set-avatar") public String setAvatar( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="media", required=true) String mediaId) { users.setAvatar(auth, mediaId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value UserWebService
  • 11. users.update(user); return "OK"; } @RequestMapping(value="/avatar/{id:.+}", method=RequestMethod.GET) public ResponseEntity<byte[]> getAvatar( @PathVariable("id") String id) { byte[] av = users.getAvatar(id); if(av != null) { return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG). body(av); } return ResponseEntity.notFound().build(); } @RequestMapping(method=RequestMethod.GET, value="/set-avatar") public String setAvatar( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="media", required=true) String mediaId) { users.setAvatar(auth, mediaId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value UserWebService
  • 12. if(av != null) { return ResponseEntity.ok().contentType(MediaType.IMAGE_JPEG). body(av); } return ResponseEntity.notFound().build(); } @RequestMapping(method=RequestMethod.GET, value="/set-avatar") public String setAvatar( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="media", required=true) String mediaId) { users.setAvatar(auth, mediaId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value ="/send-friend-request") public String sendFriendRequest( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="userId", required=true) String userId) { users.sendFriendRequest(auth, userId); return "OK"; } UserWebService
  • 13. @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="media", required=true) String mediaId) { users.setAvatar(auth, mediaId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value ="/send-friend-request") public String sendFriendRequest( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="userId", required=true) String userId) { users.sendFriendRequest(auth, userId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value ="/accept-friend-request") public String acceptFriendRequest( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="userId", required=true) String userId) { users.acceptFriendRequest(auth, userId); return "OK"; } UserWebService
  • 14. ="/accept-friend-request") public String acceptFriendRequest( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="userId", required=true) String userId) { users.acceptFriendRequest(auth, userId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value="/notifications") public List<NotificationDAO> listNotifications( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="page") int page, @RequestParam(name="size") int size) { return notifications.listNotifications(auth, page, size); } @RequestMapping(method=RequestMethod.POST, value="/contacts") public String uploadContacts( @RequestHeader(name="auth", required=true) String auth, @RequestBody List<ShadowUserDAO> contacts) { users.uploadContacts(auth, contacts); return "OK"; } } UserWebService
  • 15. ="/accept-friend-request") public String acceptFriendRequest( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="userId", required=true) String userId) { users.acceptFriendRequest(auth, userId); return "OK"; } @RequestMapping(method=RequestMethod.GET, value="/notifications") public List<NotificationDAO> listNotifications( @RequestHeader(name="auth", required=true) String auth, @RequestParam(name="page") int page, @RequestParam(name="size") int size) { return notifications.listNotifications(auth, page, size); } @RequestMapping(method=RequestMethod.POST, value="/contacts") public String uploadContacts( @RequestHeader(name="auth", required=true) String auth, @RequestBody List<ShadowUserDAO> contacts) { users.uploadContacts(auth, contacts); return "OK"; } } UserWebService